To find the last non-zero digit of a factorial number, the idea is to remove the extra zeroes in every step multiplying the numbers and don't need to hold the whole big number, just a small digit numbers from the last non-zero digits.
Here goes the code-
Here goes the code-
#include<stdio.h>
int main()
{
long long int ans;
int num;
scanf("%d",&num);
ans=1;
for(int i=2;i<=num;i++)
{
ans=ans*i;
while(ans%10==0)
{
ans/=10;
}
ans%=10000000;
}
printf("%lld\n",ans%10);
return 0;
}
No comments:
Post a Comment