# PBinfo #14 – primalitate – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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 1.000.000.000
rezultatul funcției este 1 dacă valoarea parametrului este număr prim, respectiv 0 î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.

## Cod sursă C++

```cpp
bool prim(int n) {
    int nr = 2, temp = 1;
    while (n > 1) {
        int calc = 0;
        while (n % nr == 0) {
            n = n / nr;
            calc++;
        } temp = temp * (calc + 1);
        nr++;
        if (nr * nr > n) nr = n;
    } return temp == 2;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/14)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/14/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-14/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
