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 cel mai mare număr prim mai mic decât n
și cel mai mic număr prim mai mare 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,3 ≤ n < 1.000.000.000
a
șib
sunt parametrii prin care funcția va întoarce cele două valori cerute, astfel:a
este cel mai mare număr prim mai mic decâtn
b
este cel mai mic număr prim mai mare decâtn
- primul parametru,
Exemplu
Dacă n=28
, apelul subprogramului va furniza prin parametrul a
valoarea 23
, iar prin b
valoarea 29
.
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema PrimeVecine :
int prim(int n)
{
if(n < 2)
return 0;
if(n % 2 == 0 && n > 2)
return 0;
for(int d = 3 ; d * d <= n ; d += 2)
if(n % d == 0)
return 0;
return 1;
}
void sub(int n , int &x , int &y)
{
x = n - 1;
while(! prim(x))
x --;
y = n + 1;
while(! prim(y))
y ++;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #912 PrimeVecine
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #912 PrimeVecine de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!