303
Cerinţa
Se citește un număr natural n
. Să se determine ultima cifră nenulă din scrierea zecimală a numărului n!
.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieşire
Programul afișează pe ecran numărul C
, reprezentând ultima cifră nenulă din scrierea zecimală a numărului n!
.
Restricţii şi precizări
1 ≤ n ≤ 1000
n! = 1 * 2 * ... * n
Exemplu
Intrare
13
Ieșire
8
Explicație
13! = 6227020800
, iar ultima cifră nenulă este 8
.
#include <bits/stdc++.h> using namespace std; int main() { unsigned long long n,c2=0,c5=0,p=1,a,x,pp; cin>>n; for(int i=1;i<=n;i++) { p=p%10 , a=i; while(a%2==0) a=a/2 , c2++; while(a%5==0) a=a/5 , c5++; a=a%10 , p=p*a; } 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; return 0; }
Comentarii