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; }