Cerinţa
Se dau n
numere naturale nenule. Calculaţi ultima cifră nenulă din scrierea zecimală a produsului celor n
numere.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran numărul C
, reprezentând valoarea calculată.
Restricţii şi precizări
1 ≤ n ≤ 100
- cele
n
numere citite vor avea cel mult9
cifre
Exemplu
Date de intrare
5 10 24 37 46 75
Date de ieșire
6
Explicație
Produsul celor 5
numere este 30636000
, iar ultima cifră nenulă este 6
.
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 Zerouri1:
#include <iostream>
#include <cassert>
using namespace std;
int main(){
int n,x, d2 = 0, d5 = 0, p=1;
cin >> n;
for(int i=1;i<=n;++i){
cin >> x;
while(x%2==0)
d2++, x/=2;
while(x%5==0)
d5++, x/=5;
p = (p * (x%10)) %10;
}
int k = 0 , f = 0;
if(d2>d5)
k = d2 - d5, f = 2;
else
k = d5 - d2, f = 5;
while (k>0)
p = (p*f)%10 , k--;
cout << p;
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 #307 Zerouri1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #307 Zerouri1 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!