满足 N! 的末尾恰好有 K 个 0 的最小的 N 是多少?
如果这样的 N 不存在输出 −1。
输入样例:
2
输出样例:
10
//保证所有数据的范围都是long long
//!!!!
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
ll k;
//这里传过来的数一定是long long!!!!
ll check(ll x){
ll res =0;
while(x){
res += x/5;
x=x/5;
}
return res;
}
int main()
{
scanf("%lld",&k);
//对所有数据做二分
ll l=0,r=1e19;
while(l<r){
ll mid = l + r >> 1;
if(check(mid) >= k)
r = mid;
else l = mid + 1;
}
if(check(l) == k) cout<<l<<endl;
else cout<<-1<<endl;
return 0;
}