282
Cerința
Se dau n
numere naturale. Determinați suma celor prime.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale.
Date de ieșire
Programul va afișa pe ecran numărul C
, reprezentând suma celor prime.
Restricții și precizări
1 ≤ n ≤ 1000
- cele
n
numere citite vor fi mai mici decât1.000.000.000
Exemplu
Intrare
5 11 25 3 4 1
Ieșire
14
Explicație
Dintre cele 5
numere citite sunt prime numerele 11
și 3
.
#include <bits/stdc++.h> using namespace std; bool prim(int n){ int d = 2, cnt = 1; while(n > 1){ int p = 0; while(!(n % d)) n/=d, p++; cnt *= (p+1); d++; if(d * d > n) d = n; } return cnt == 2; } int main(){ long long s = 0, n; cin >> n; int x; while(n){ cin >> x; if(prim(x)) s += x; n--; } cout << s; return 0; }
Comentarii