937. Chữ số tận cùng khác 0
Mã bài: TCDFZ
Cho số tự nhiên n (n <= 10^9). Hãy tìm chữ số tận cùng khác 0 của n!
Input
- Dòng duy nhất ghi số N.
Output
- Gồm 1 dòng duy nhất ghi kết quả tìm được.
Example
Input:
5
Output:
2
#include
// #include
long int N;
int kq=1;
int ex[11];
int Pow(int x,int exp);
int main()
{
int chusocuoi;
long int tam;
int i;
long int num,numdiv5,numdis;
int mod;
scanf("%ld",&N);
while(N!=0)
{
numdis=N/10;
for(i=1;i<10;i++) ex[i]=numdis+1;
mod=N%10;
for(i=mod+1;i<10;i++) ex[i]--;
//Test
/* for(i=1;i<10;i++) if(i!=5)
{
printf("i=%d ex[%d]=%d\n",i,i,ex[i]);
}
getch(); */
for(i=1;i<10;i++) if(i!=5) kq=(kq*Pow(i,ex[i]))%10;
numdiv5=N/5;
int t=numdiv5%4;
for(i=0;i
else if(kq==4) kq=2;
else if(kq==2) kq=6;
else if(kq==6) kq=8;
N=N/5;
}
printf("%d",kq);
// getch();
return 0;
}
int Pow(int x,int exp)
{
if(exp==0) return 1;
else
{
if(exp%2==0)
{
int tam;
tam=Pow(x,exp/2);
return (tam*tam)%10;
}
else return((x*Pow(x,exp-1))%10);
}
}
Không có nhận xét nào:
Đăng nhận xét