Problem Link: 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…
|using namespace std;|
|#define ll long long|
|int main ()|
|printf("Case %lld: ",++idd);|
“For every complex problem there is an answer that is clear, simple, and wrong“— H. L. Mencken