Informatică, întrebare adresată de andreimaria28, 9 ani în urmă

Se citește numărul natural n. Să se afișeze primele n numere naturale prime.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran primele n numere naturale prime, în ordine crescătoare, separate prin exact un spațiu.

Restricţii şi precizări
1 ≤ n ≤ 1000

Exemplu
Date de intrare

5
Date de ieșire

2 3 5 7 11


andreimaria28: Da
Dennord: Stii subprograme?
andreimaria28: Nu
andreimaria28: Vreau unul in C++
Dennord: Subprogramele sunt functii pe care le construiesti tu.
andreimaria28: Da-mi un model sa vad
Dennord: int f(int x)
{x/=10; return x;}
andreimaria28: Nu stiu
andreimaria28: Inseamna ca vreau eu prea mult de pe pbinfo si n-am ajuns la asta :)
Dennord: Nu, nu e nevoie de subprograme la problema asta, doar arata mai frumos codul si era mai usor de inteles, asa te aglomerezi, imediat iti scriu sa vezi cum se aglomereaza for-urile.

Răspunsuri la întrebare

Răspuns de Dennord
8
#include <iostream>
using namespace std;
int n;
int main()
{
cin>>n;
for (int i=1;n>0;i++) // cat timp mai trebuie sa afisez numere prime
{
bool ok=true;
for (int j=2;j*j<=i && ok;j++) // testez daca i e prim
   if (i%j==0) ok=false; // daca dau de un divizor al lui i ma opresc
if (ok) // inseamna ca am ajuns la un numar prim (care e i)
{
cout<<i<<" ";
n--;
}
}
return 0;
}

andreimaria28: Nu stiu ce e bool ok.
andreimaria28: Oricum mersi mult !
Dennord: bool ia valoarea doar true sau false. E ca un int care poate lua valorile 1 si 0.
Dennord: Daca te incurca pune int ok=1; si la ok=false pui ok=0, e acelasi lucru, doar ca bool consuma mai putina memorie si nu cred ca strica sa inveti ceva nou :P.
Alte întrebări interesante