Fişierul intrare/ieşire:apropiate1.in, apropiate1.outSursăONI 2004 clasa a 6-a
AutorAdrian Nita, Maria NitaAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.5 secLimită de memorie8192 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Apropiate1 (clasa a 6-a)

Notă: această problemă provine din problema originală, apropiate. Ea fost modificată pentru a o aduce la zi în anul 2015, avînd limitele mărite.

Pentru temă, Alina trebuia să-şi verifice cunoştinţele legate de numere prime. Alina va citi o valoare N care semnifică numărul numerelor naturale ce vor fi prelucrate şi o valoare C care poate fi 1 sau 2. În continuare va citi cele N numere naturale. Fiecare număr natural A, citit, va fi prelucrat astfel:

  • dacă A este număr prim, el va fi afişat nemodificat;
  • dacă A nu este prim, se va determina cel mai apropiat număr prim care va fi afişat. Considerăm cel mai apropiat număr de valoarea A, cel pentru care modulul diferenţei dintre număr şi valoarea A este cel mai mic. Fie X cel mai mare număr prim mai mic decât A, şi Y cel mai mic număr prim mai mare decât A. Dacă cele două numere sunt la fel de „apropiate” de A atunci se va afişa X dacă C=1 şi Y, dacă C=2.

Cerinţă

Afişaţi valorile prelucrărilor fiecărui număr A.

Date de intrare

Fişierul de intrare apropiate1.in conţine pe prima linie două numere, N reprezentînd numărul de numere ce se vor citi şi C, valoarea ce va decide dacă se afişează valoarea primă cea mai apropiată mai mică, respectiv mai mare decât valoarea corespunzătoare. Pe linia a doua conţine cele N numere A1 A2... An reprezentând numerele naturale ce vor fi prelucrate.

Date de ieşire

În fişierul de ieşire apropiate1.out se vor scrie pe o singură linie cele N numere naturale, separate prin spaţiu reprezentând numerele prime „apropiate” de cele iniţiale.

Restricţii

  • 0 ≤ N ≤ 100 000
  • 1 < Ai ≤ 4 000 000
  • 1 ≤ C ≤ 2

Exemple

apropiate1.inapropiate1.out
15 1
3 6 8 2 3 5 7 9 2 5 3 7 11 22 21
3 5 7 2 3 5 7 7 2 5 3 7 11 23 19
13 2
3 6 7 11 21 9 5 7 14 29 24 25 16
3 7 7 11 23 11 5 7 13 29 23 23 17
Trebuie sa te autentifici pentru a trimite solutii. Click aici