# Smallest number n, having k trailing zeros in n! (LightOJ – 1138)

We can easily calculate trailing zeros in n!. But, this problem refers to find the smallest n where n! holds exactly k trailing zeros.

If you don’t know how to calculate trailing zeros of n!. Read here – Trailing Zeros.

The max range of k is 10^8. So, 5*10^8! can easily hold this amount of trailing zero ( as the number of total 5 will be= 5*10^8/ 5 + 5*10^8/ (5*5) + 5*10^8/(5*5*5) +…. ). As, the number of trailing zero increases with the increment of n. Now, search for n and check if that contains k trailing zero or not. Factorial of multiple numbers can contain same numbers of trailing zero, in this problem you just have to find the smallest one, which is obviously a multiple of 5. Now, code it and have a green verdict…

## Code:

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #include using namespace std; #define ll long long int main () { ll tc,idd=0,b,n,temp,r,i,p,q,c,ans; scanf("%lld",&tc); while(tc--) { scanf("%lld",&n); printf("Case %lld: ",++idd); ans=0; ll lo=1,hi=5000000000,mid; while(lo
view raw lightoj1138.cpp hosted with ❤ by GitHub

“For every complex problem there is an answer that is clear, simple, and wrong

H. L. Mencken
Number Theory