# PBinfo #45 – verifprim – Rezolvare C++

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

## Enunț

Cerinţa
Să se scrie un program care citește de la tastatură  un număr natural n și verifică dacă este prim.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă n este număr prim, respectiv NU în caz contrar.

Restricţii şi precizări

0 ≤ n ≤ 1.000.000.000
un număr natural este prim dacă are exact doi divizori distincți: 1 și el însuși.

Exemplu:
Intrare

17
Ieșire

DA

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, temp = 2, nrdivi = 1; cin >> n;
    while (n > 1){
        int tmp = 0;
        while (n % temp == 0) {
            n = n / temp;
        	tmp++;
    	} nrdivi = nrdivi * (tmp + 1);
        temp++;
        if (temp * temp > n) temp = n;
    } if(nrdivi != 2) cout << "NU";
    else cout << "DA";
    return 0;
}
```

## Resurse

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