312
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
1
dacă 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