444
Să se scrie o funcție C++ care verifică dacă un număr natural transmis ca parametru este prim.
Restricţii şi precizări
- numele funcției scrise este
prim - funcția are un parametru, număr natural; valoarea sa va fi mai mică decât
1000000000 - rezultatul funcției este
1dacă valoarea parametrului este număr prim, respectiv0în caz contrar
Important
Soluția propusă va conține doar funcția cerută. Introducerea în soluție a altor instrucțiuni poate duce la erori de compilare sau de execuție, care vor duce la depunctarea soluției.
bool prim(int n){
int d = 2, cnt = 1;
while(n > 1){
int p = 0;
while(n % d == 0)
n /= d, p++;
cnt *= (p + 1);
d++;
if(d * d > n)
d = n;
}
return cnt == 2;
}
Comentarii