TCDFZ - Chữ số tận cùng khác 0
Tác giả: hieult
Ngôn ngữ: C++
#include <stdio.h>
//#include <conio.h>
int a[]={6,8,4,2,6,8,4};
int luythua(int k)
{
if(k==0)
return 1;
return luythua(k-1)*5;
}
int tinh(int n)
{
int duoi=6;
if(n==1||n==0)
return 1;
int x=n%10;
int y=n/5;
if(x==0)
duoi=6;
else
{
for(int i=2;i<=x;i++)
duoi=duoi*i;
if(x>=5)
duoi=duoi/5;
}
duoi=duoi%10;
for(int i=0;i<=3;i++)
{
if(a[i]==duoi)
{
duoi=a[i+y%4];
break;
}
}
return (duoi*tinh(n/5))%10;
}
main()
{
int n;
scanf("%d",&n);
printf("%d",tinh(n));
// getch();
}