题意
N!有Q个0,给Q求N
思路
求5因子的个数
代码
// http://www.voidcn.com/article/p-yvjjnmeb-tq.html
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
typedef long long ll;
const int N = 1e8 * 5;
ll findzeros ( ll num ) {
ll ans = 0;
while ( num ) {
ans += num / 5;
num /= 5;
}
return ans;
}
int main () {
ll T;
scanf ( "%lld", &T );
for ( ll ks = 1; ks <= T; ++ks ) {
int q;
scanf ( "%d", &q );
ll mid, l = 4, r = N;
while ( l <= r ) {
mid = ( l + r ) / 2;
ll num = findzeros ( mid );
if ( num < q )
l = mid + 1;
else
r = mid - 1;
}
if ( findzeros ( l ) == q )
printf ( "Case %lld: %lld\n", ks, l );
else
printf ( "Case %lld: impossible\n", ks );
}
}