Cerința
Alin este un elev pasionat de înmulțirea numerelor. Știe că produsul a două sau mai multe numere naturale poate avea ultima cifră 0.
Se dau n
numere naturale nenule. Ajutați-l pe Alin să determine:
a. numărul de cifre 0
de la sfârşitul produsului celor n
numere;
b. care este ultima cifră nenulă a acestui produs.
Date de intrare
De pe prima linie a fișierului cifre15.in
se citește un număr natural n
iar de pe următoarea linie din fișier se citesc n
numere naturale nenule, separate prin câte un spaţiu.
Date de ieșire
Fișierul de ieșire cifre15.out
conține o singură linie pe care vor fi scrise cele două valori determinate, separate printr-un singur spațiu.
Restricții și precizări
1 ≤ n ≤ 100
- numerele de pe a doua linie a fișierului de intrare au cel mult
9
cifre.
Exemplu
cifre15.in
3 50 12 18
cifre15.out
2 8
Explicație
50∙12∙18=10800
, la finalul produsului sunt 2
cifre 0
, iar ultima cifră nenulă este 8
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 Cifre15:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cifre15.in");
ofstream g("cifre15.out");
int main()
{
int n,x, d2 = 0, d5 = 0, p=1;
f >> n;
for(int i=1;i<=n;++i)
{
f >> x;
while(x%2==0)
{
d2++;
x/=2;
}
while(x%5==0)
{
d5++;
x/=5;
}
p = (p * (x%10)) %10;
}
g << min(d2,d5) << ' ';
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--;
}
g<<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 #1636 Cifre15
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1636 Cifre15 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!