标签:
http://acm.xidian.edu.cn/problem.php?id=1019
末尾0由2*5构成,2足够多,看5的数量就可以了。注意25是2个5,125是3个5...
先用等比公式推出趋于极限时,n = m*4,但实际可能比这个数大一点,向上找就好了。
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int f(int x) { int now = 5,ans = 0; while(now <= x) { ans += x/now; now *= 5; } return ans; } int main() { int T,n; scanf("%d",&T); while(T--) { scanf("%d",&n); int ans = n*4; while(f(ans) < n) ans++; if(f(ans) == n) printf("%d\n",ans); else printf("No solution\n"); } return 0; }
标签:
原文地址:http://www.cnblogs.com/zhurb/p/5970922.html