Andrei a făcut într-o zi un șir de N
numere. În a doua zi a lăsat în acel șir doar numerele prime. În a treia zi a calculat pentru fiecare număr rămas în șir suma cifrelor, iar apoi a adunat toate aceste sume în S
. După ce a obținut numărul S
a început să adune toate cifrele din care este format S
și tot așa până când ajunge la o cifră terminală C
.
Cerința
Ajutați-l pe Andrei să calculeze cifra terminală C
.
Date de intrare
Fișierul de intrare vterminal.in
conține pe prima linie numărul N
, iar pe a doua linie N
numere naturale separate prin spații.
Date de ieșire
Fișierul de ieșire vterminal.out
va conține pe prima linie numărul C
, reprezentând valoarea cerută.
Restricții și precizări
1 ≤ n ≤ 100
- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
1.000
Exemplu
vterminal.in
5 4 11 24 13 97
vterminal.out
4
Explicație
Doar 11
, 13
și 97
sunt prime, deci 11 + 13 + 97 = 121
1 + 2 + 1 = 4
, deci 4
este cifra terminală
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema vterminal:
#include <iostream>
#include <fstream>
using namespace std;
int n, i, t, m, a;
ifstream f("vterminal.in");
ofstream g("vterminal.out");
int prim(int n)
{
int i, ok = 1;
if(n == 1)
return 0;
for(i = 2; i * i <= n; i++)
if(n % i == 0)
{
ok = 0;
break;
}
return ok;
}
int sumcif(int n)
{
int s = 0;
while(n)
{
s += n % 10;
n /= 10;
}
return s;
}
int main()
{
f >> n;
for(i = 1; i <= n; i++)
{
f >> m;
if(prim(m))
t += sumcif(m);
}
while(t > 9)
t = sumcif(t);
g << t;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1903 vterminal
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1903 vterminal de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!