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 și b sunt parametrii prin care funcția va întoarce cele două valori cerute, astfel:
a este cel mai mare număr prim mai mic decât n
b este cel mai mic număr prim mai mare decât n
Exemplu
Dacă n=28, apelul subprogramului va furniza prin parametrul a valoarea 23, iar prin b valoarea 29.
912 de pe pbinfo
Primesc 80 de puncte( un raspuns gresit) si nu stiu de ce, asta'i solutia mea:
bool prim(int nr)
{
if(nr==0 || nr==1)
return false;
if(nr==2)
return true;
if(nr>2 && nr%2==0)
return false;
for(int d=3;d*d<=nr;d+=2)
if(nr%d==0)
return false;
return true;
}
void sub(unsigned long int n, int &a, int&b)
{
unsigned int i;
for(i=n+1;i
{
if(prim(i))
break;
}
b=i;
for(i=n;i>n/2;i--)
{
if(prim(i))
break;
}
a=i;
}
Răspunsuri la întrebare
Răspuns de
3
poate:
for(i=n+1;i {
trebuie
for(i=n+1;true;i++) {
for(i=n+1;i {
trebuie
for(i=n+1;true;i++) {
Alte întrebări interesante
Biologie,
8 ani în urmă
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Istorie,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă