👤

Cerinţa
Să se scrie o funcție C++ care, pentru un număr natural n transmis ca parametru, determină și întoarce prin intermediul unor parametri de ieșire cele mai mari două numere naturale prime mai mici decât n.
Restricţii şi precizări
numele funcției va fi sub
funcția va avea exact trei parametri, în această ordine:
primul parametru, n, reprezintă un număr natural, 5 ≤ n < 1000000000
a și b sunt parametrii prin care funcția va întoarce cele două valori căutate
parametrii a și b respectă relația a>b
Exemplu
Dacă n=28, apelul subprogramului va furniza prin parametrul a valoarea 23, iar prin b valoarea 19.


Răspuns :

Răspuns:

bool prim(int x)

{

   for (int d=3; d*d<=x; d+=2)

   {

       if (x%d==0)

       {

           return 0;

       }

   }

   return 1;

}

void sub(int n, int &a, int &b)

{

   if (n==5) {a=3; b=2;}

   else

   {

       if (n%2==0) --n;

       else n-=2;

       while (!prim(n)) n-=2;

       a=n;

       n-=2;

       while (!prim(n)) n-=2;

       b=n;

   }

}

Explicație:

sub apelează funcţia prim....

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari