online: 7; azi: 758; total: 52764 Manual clasa a ix a - Algoritmi - Algoritmi de testare daca un numar natural este prim

Manual clasa a IX a

Algoritmi

Algoritmi de testare daca un numar natural este prim

Să se afişeze primele n numere naturale strict ma i mari decât 2, care au proprie tatea că toate numerele naturale strict mai mici decât ele , care sunt prime cu ele , sunt şi numere prime ( exemplu : 3-2 4-3; 6→ 5; contraexemplu : 5→ 2, 3, 4 - deoarece 4 este prim cu 5 dar nu este număr prim).
# include < iostream >
using namespace std ;
int main ()
{
int n, nr = 3 , count = 0 ;
cout << " Introduceti numarul de numere cautate : " ;
cin >> n;
while ( count < n) // cautam primele n numere cu proprietatea ceruta
{
bool este_prim = true ;
for ( int i = 2 ; i <= nr / 2 ; i++) // verificam daca nr este prim
{
if (nr % i == 0 )
{
este_prim = false ;
break ;
}
}
if ( este_prim ) // daca nr este prim, verificam proprietatea ceruta
{
bool proprietate = true ;
for ( int i = 2 ; i < nr; i++) // cautam toate numerele prime cu nr
{
bool este_divizor = false ;
for ( int j = 2 ; j <= i / 2 ; j++) // verificam daca i este divizor propriu al nr
{
if (i % j == 0 )
{
este_divizor = true ;
break ;
}
}
if (! este_divizor && nr % i == 0 ) // daca i este prim si este divizor al nr, proprietatea nu este indeplinita
{
proprietate = false ;
break ;
}
}
if (proprietate) // daca am gasit un numar cu proprietatea ceruta, il afisam
{
cout << nr << " " ;
count ++;
}
}
nr++; // trecem la urmatorul numar
}
return 0 ;
}

Programul citește de la tastatură un număr n și caută primele n numere naturale cu proprietatea cerută. Pentru a găsi aceste numere, programul parcurge numerele naturale începând cu 3 și verifică pentru fiecare număr dacă este prim și dacă toate numerele prime mai mici decât el și care sunt prime cu el sunt și ele numere prime. Dacă am găsit un număr cu proprietatea cerută, îl afișăm și trecem la următorul număr.