#307 Zerouri1
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 mult 9 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.
//asta e sursa mea de 20%
#include
using namespace std;
int nz(int P)
{
int p=0;
while(P){
if(P%10==0)
p++;
else
break;
P/=10;
}
return P%10;
}
int main()
{
int n,x;
long long P=1;
int p;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
P*=x;
}
cout<
}
boiustef:
zerourile la produs apar nu numai daca numarul se termina cu zero dar si de la inmutirea lui 2 cu 5...
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
long long int n, i, j, num, m, exp2, exp5, ultima=1, cif;
int main()
{
cin >> n;
for (j=1; j<=n; ++j)
{
cin >> num;
while (num%2==0) { ++exp2; num/=2;}
while (num%5==0) { ++exp5; num/=5;}
cif=num%10;
ultima=(ultima*cif)%10;
}
if (exp2>exp5)
{
exp2=exp2-exp5;
m=exp2%4;
if (m==1) ultima=(ultima*2)%10;
if (m==2) ultima=(ultima*4)%10;
if (m==3) ultima=(ultima*8)%10;
if (m==0) ultima=(ultima*6)%10;
}
else
{
if (exp2==exp5) ultima=ultima;
else ultima=5;
}
cout << ultima;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă