# PBinfo #44 – primeinterval – Rezolvare C++

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

## Enunț

Cerinţa
Să se scrie un program care citește două numere naturale a și b și determină câte numere prime sunt în intervalul închis determinat de a și b.

Date de intrare
Programul citește de la tastatură numerele a și b.

Date de ieşire
Programul afișează pe ecran numărul n, reprezentând numărul de numere prime din intervalul închis determinat de a și b.

Restricţii şi precizări

0 < a, b < 100.000
numerele citite nu respectă obligatoriu relația a ≤ b
un număr natural este prim dacă are exact doi divizori distincți: 1 și el însuși.

Exemplu:
Intrare

10 20
Ieșire

4
Explicație
în intervalul [10,20] sunt 4 numere prime: 11, 13, 17, 19.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int a, b; cin >> a >> b;
    if (a > b) {
        int temp = a;
        a = b;
        b = temp;
    } int nr = 0;
    for (int i = a; i <= b; i++) {
        bool prim = 1;
        if (i < 2) prim = 0;
        if (i % 2 == 0 && i > 2) prim = 0;
        for (int j = 3; j * j <= i && prim == 1; j++)
            if (i % j == 0) prim = 0;
        if (prim == 1) nr++;
    } cout << nr;
    return 0;
}
```

## Resurse

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