# PBinfo #405 – sumacifrenrprime – Rezolvare C++

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

## Enunț

Cerinţa
Se dă un șir cu n numere  naturale. Determinați suma tuturor cifrelor numerelor prime din șir.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.

Date de ieşire
Programul afișează pe ecran numărul S, reprezentând suma tuturor cifrelor numerelor prime din șir.

Restricţii şi precizări

1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000.

Exemplu:
Intrare

6
83 36 53 401 90 7
Ieșire

31
Explicație
Dintre cele 6 numere citite sunt prime : 83 53 401 7. Suma cifrelor acestor numere este 31.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
bool prim(int n) {
    if (n < 2) return false;
    if (n == 2) return true;
    if (n % 2 == 0) return false;
    for (int i = 3; i * i <= n; i += 2)
        if (n % i == 0) return false;
    return true;
}
int sumcif(int n) {
    int S = 0;
    while (n != 0) {
       	S = S + n % 10;
        n = n / 10;
    } return S;
}
int main() {
    long long int n, S = 0, nr;
    cin >> n;
    while (n != 0) {
        cin >> nr;
        if (prim(nr)) {
            S = S + sumcif(nr);
        } n--;
    } cout << S;
    return 0;
}
```

## Resurse

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