Numere Prime

Time limit: 0.1s Memory limit: 2MB Input: prim.in Output: prim.out

Se numeşte număr prim, un număr care este divizibil doar cu 1 şi cu el însuşi. Astfel în intervalul [1,301, 30] numerele prime vor fi: 22, 33, 55, 77, 1111, 1313, 1717, 1919, 2323, 2929, în total 1010 numere prime.

Notă: Numărul 11 nu este considerat număr prim!

Cerinţă:

Dându-se două numere nn, kk să se determine 2k2 \cdot k numere prime situate în centrul listei numerelor prime din intervalul [1,n1, n], în cazul în care în interval este un număr par de numere prime şi 2k12 \cdot k-1 numere din centrul listei de numere prime, în cazul în care numărul de numere prime este impar.

Dacă numărul 2k2 \cdot k (respectiv 2k12 \cdot k-1) este mai mare decât numărul de numere prime din intervalul considerat, atunci se vor afişa toate numerele prime din interval.

Date de intrare

Pe prima linie a fișierului de intrare prim.in se vor citi două numere nn şi kk, cu semnificaţia: nn = marginea superioară a intervalului din care se determină numerele prime; kk = are semnificaţia din enunţ.

Date de ieșire

Pe prima linie a fișierului de ieșire prim.out se vor afişa cele 2k2 \cdot k sau 2k12 \cdot k-1 numere cerute, separate prin spaţiu.

Restricții și precizări

  • 1n10 0001 \leq n \leq 10 \ 000;
  • 1k301 \leq k \leq 30;
  • 1kn1 \leq k \leq n;

Exemplul 1

prim.in

21 2

prim.out

5 7 11 13

Exemplul 2

prim.in

18 2

prim.out

5 7 11

Exemplul 3

prim.in

18 18

prim.out

2 3 5 7 11 13 17

Exemplul 4

prim.in

100 7

prim.out

17 19 23 29 31 37 41 43 47 53 59 61 67

Log in or sign up to be able to send submissions!