416
Cerința
Subprogramul interval are un singur parametru, n, prin care primește un număr natural (n∈ [3,106]). Subprogramul returnează cel mai mic număr natural x (n<x) care NU este prim, cu proprietatea că în intervalul [n,x] există un singur număr prim.
Scrieţi definiţia completă a subprogramului.
Exemplu
Dacă n=8, subprogramul returnează numărul 12.
Important
Soluția propusă va conține definiția subprogramului cerut. 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.
bool prim(int n)
{
int cnt = 0;
for(int d = 1 ; d * d <= n ; ++d)
{
if(n % d == 0)
cnt+=2;
if(d * d == n)
cnt--;
}
if(cnt == 2)
return 1;
return 0;
}
int interval(int n)
{
for(int i = n ; 1 ; ++i)
{
if(prim(i))
return i+1;
}
}
Comentarii