Manual clasa a IX a |
Algoritmi |
Algoritmi de testare daca un numar natural este prim |
Să se afişeze primele n perechi de numere prime gemene , unde n este un numär natural introdus de la tastatură . ( Două numere prime a şi b sunt gemene dacă b-a-2. Exemple : 3 şi 5, 5 şi 7, 11 şi 13, 17 şi 19, 29 şi 31).
# include < iostream >
using namespace std ;
int main ()
{
int n, perechi = 0 , i = 2 ;
bool este_prim ;
cout << " Introduceti numarul de perechi de numere prime gemene: " ;
cin >> n;
while (perechi < n) // parcurgem intervalul [2, infinit) si cautam perechi de numere prime gemene
{
este_prim = true ;
for ( int j = 2 ; j <= i / 2 ; j++) // verificam daca numarul i este prim
{
if (i % j == 0 )
{
este_prim = false ;
break ;
}
}
if ( este_prim ) // daca numarul i este prim, verificam daca i+2 este si el prim
{
este_prim = true ;
for ( int j = 2 ; j <= (i + 2 ) / 2 ; j++)
{
if ((i + 2 ) % j == 0 )
{
este_prim = false ;
break ;
}
}
if ( este_prim ) // daca am gasit o pereche de numere prime gemene, o afisam
{
cout << "(" << i << ", " << i + 2 << ")" << endl ;
perechi++;
}
}
i++; // trecem la urmatorul numar din interval
}
return 0 ;
}
Programul citește de la tastatură un număr n și caută primele n perechi de numere prime gemene. Pentru a găsi aceste perechi, programul parcurge intervalul [2, infinit) și verifică pentru fiecare număr din interval dacă este prim și dacă i+2 este și el prim. Dacă am găsit o pereche de numere prime gemene, o afișăm și trecem la următorul număr din interval.
Notă: Acest program poate rula indefinit, deoarece caută perechi de numere prime gemene într-un interval infinit. Pentru a evita acest lucru, am specificat numărul de perechi pe care trebuie să le găsească programul, dar ar trebui să luăm în considerare și o limită superioară pentru numărul până la care căutăm perechi de numere prime gemene.