Cerința
Subprogramul interval
are un singur parametru, n
, prin care primește un număr natural (n∈ [3,10
6
]
). 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; } }