Se introduce n numere de la tastatura. Sa se afiseze numerele prime 1
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
cout << „Numerele prime sunt: „;
for (int i = 0; i < n; i++)
{
int x;
bool este_prim = true;
cin >> x;
if (x < 2)
{
este_prim = false;
}
else
{
for (int j = 2; j * j <= x; j++)
{
if (x % j == 0)
{
este_prim = false;
break;
}
}
}
if (este_prim)
{
cout << x << ” „;
}
}
cout << endl;
return 0;
}
Programul citeste n numere de la tastatura si parcurge fiecare numar, verificand daca este prim sau nu. Pentru fiecare numar, se foloseste o variabila booliana (este_prim
) care este initializata cu true
. Daca numarul este mai mic decat 2, se considera ca nu este prim si se seteaza este_prim
pe false
. Altfel, se parcurge intervalul [2, sqrt(x)] si se verifica daca x este divizibil cu vreun numar din acest interval. Daca se gaseste un astfel de numar, se seteaza este_prim
pe false
si se iese din bucla, deoarece nu mai este necesar sa se continue verificarea. In final, daca este_prim
este true
, se afiseaza numarul.
Observati ca acest program efectueaza verificarea primului numar chiar daca n este 0. In mod normal, ar fi necesar sa se adauge o verificare suplimentara pentru a evita acest lucru.