Informatică, întrebare adresată de Adelyn23, 9 ani în urmă

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

Dau coroana !!!

Răspunsuri la întrebare

Răspuns de Druff
2
#include <iostream>
using namespace std;

int main() {
  int n, sum, nr;
  
  cin >> n;
  sum = 0;
  for (int i = 0; i < n; ++i) {
    cin >> nr;
    if (nr % 2) {
      while (nr) {
        sum += nr % 10;
        nr /= 10;
      }
    }
  }
  cout << sum << "\n";
  
  return 0;
}
Anexe:

Adelyn23: iti da 20 de pct pe pbinfo
Druff: Scuze. Am citit "impare" in loc de prime. Aici este solutia corecta: http://www.imgur.com/jxfHJ44 sau #include <iostream>
using namespace std;

int main() {
int n, sum, nr, d, prim;

cin >> n;
sum = 0;
for (int i = 0; i < n; ++i) {
cin >> nr;
d = 2;
prim = 1;
while (d * d <= nr) {
if (nr % d == 0) {
prim = 0;
}
++d;
}
if (prim == 1) {
while (nr) {
sum += nr % 10;
nr /= 10;
}
}
}
cout << sum << "\n";

return 0;
}
Alte întrebări interesante