296
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
.
#include <bits/stdc++.h> using namespace std; int main() { unsigned long long n,c2=0,c5=0,p=1,a,x,pp,e; cin>>n; for(int i=1;i<=n;i++) { cin>>x; p=p%10; a=x; while(a%2==0) { a=a/2; c2++; } while(a%5==0) { a=a/5; c5++; } a=a%10; p=p*a; } if(c2==0 && c5==0) cout<<p%10; else if(c2==0) cout<<"5"; else if(c2==c5) cout<<p%10; if(c2>c5) { if((c2-c5)%4==0) cout<<(p*6)%10; else if((c2-c5)%4==1) cout<<(p*2)%10; else if((c2-c5)%4==2) cout<<(p*4)%10; else if((c2-c5)%4==3) cout<<(p*8)%10; } else if(c5>c2) { if((c5-c2)%4==0) cout<<(p*6)%10; else if((c5-c2)%4==1) cout<<(p*2)%10; else if((c5-c2)%4==2) cout<<(p*4)%10; else if((c5-c2)%4==3) cout<<(p*8)%10; } return 0; }
Comentarii