pbinfo #100capitolul 2 · Cifre și prime nrapprime.in → nrapprime.outMediepunctajul tău: 100p

NrApPrime

Câte numere prime sunt în șir

01

Enunțul pe scurt

Rezumat. Textul complet e pe pbinfo.

În nrapprime.in ai n numere.

Scrii în nrapprime.out câte dintre ele sunt prime.

Un număr e prim dacă are exact doi divizori: 1 și el însuși (2, 3, 5, 7, 11, 13…). 0 și 1 NU sunt prime.

ComparațieUn număr prim e ca un grup de copii care nu se poate împărți în echipe egale (de cel puțin 2 copii fiecare): 7 copii îi poți pune doar 7 echipe de câte 1 sau o echipă de 7.
Primeștinrapprime.in: n, apoi n numere naturale.
Afișezinrapprime.out: câte numere prime sunt.
Problemă cu fișiereCitești din nrapprime.in și scrii în nrapprime.out, apoi fout.Close(). Lecția despre fișiere
02

Exemplu

Fă-l întâi pe hârtie, fără cod.

nrapprime.in
6
2 9 1 13 25 17
nrapprime.out
3
De cePrime: 2, 13, 17. Nu sunt prime: 9 (=3·3), 1, 25 (=5·5).

Exemplul de aici e făcut pentru platformă și verificat cu soluția. Exemplul oficial îl găsești în enunțul de pe pbinfo.

Încă 2 teste
intrare 2
3
0 1 4
ieșire 2
0
intrare 3
4
97 89 91 2
ieșire 3
3
91 = 7·13, deci nu e prim.
03

Animație pas cu pas

Mergi cu săgețile sau apasă Pornește. Poți pune și numerele tale.

numere
2
0
9
1
1
2
13
3
25
4
17
5
cnt 0
1/8Pentru fiecare număr căutăm un divizor d cu d·d ≤ x.
fișierul nrapprime.out
elementul curent bun / păstrat respins comparat ținut minte
04

Indicii

Deschide doar câte ai nevoie.

05

Scrie și rulează

Codul rulează direct în browser. „Verifică pe teste” compară rezultatul ca evaluatorul pbinfo.

compilatorul pornește la prima rulare
fișierul nrapprime.in
fișierul nrapprime.out
Apasă Rulează ca să vezi rezultatul.
06

Ideea, pe pași

  1. Funcția EstePrim.
  2. Citești fiecare număr.
  3. Dacă e prim, cnt++.
  4. Scrii cnt în fișier.
07

Soluția comentată

Verificată automat pe toate testele de mai sus.

Soluția e ascunsă

Încearcă întâi singur(ă), cu indiciile și editorul de mai sus. Când vrei să compari sau te-ai blocat, deschide-o.

08

Greșeli de evitat

La încercarea taAi ajuns la 100 după două încercări cu 0 puncte. Cele mai dese motive pentru 0 la numere prime: uiți că 0 și 1 nu sunt prime, sau cauți divizori până la x (prea lent).
  • 0 și 1 nu sunt prime.
  • 2 este prim (singurul prim par).
  • Divizori doar până la radical: d * d <= x.
09

Întrebări

Două întrebări scurte. Se salvează cel mai bun scor.

ÎntrebăriÎntrebarea 1 din 2

Pentru x = 49, care e ultimul d verificat de for (int d = 2; d * d <= x; d++)?