Să se afişeze primele n numere prime, n introducându-se de la tastatură 2
#include <iostream>
using namespace std;
int main()
{
int n, numar = 2, contor = 0;
cout << „Introduceti numarul de numere prime dorite: „;
cin >> n;
cout << „Primele ” << n << ” numere prime sunt: „;
while (contor < n)
{
bool este_prim = true;
for (int i = 2; i * i <= numar; i++)
{
if (numar % i == 0)
{
este_prim = false;
break;
}
}
if (este_prim)
{
cout << numar << ” „;
contor++;
}
numar++;
}
cout << endl;
return 0;
}
Programul foloseste doua variabile, numar
si contor
, pentru a parcurge numerele naturale si pentru a contoriza cate numere prime s-au gasit pana la momentul respectiv. Se citeste de la tastatura numarul de numere prime dorite, si apoi se parcurge secventa de numere naturale, testandu-se pentru fiecare daca este prim sau nu.
Pentru a determina daca un numar este prim, se parcurge intervalul [2, sqrt(numar)] si se verifica daca numarul este divizibil cu vreun numar din acest interval. Daca se gaseste un astfel de numar, se seteaza variabila este_prim
pe false
si se iese din bucla, deoarece nu mai este necesar sa se continue verificarea.
Daca este_prim
este true
, numarul este afisat, se incrementeaza variabila contor
si se trece la urmatorul numar. Bucla se executa pana cand s-au gasit primele n
numere prime.