Lightoj 1138 Trailing Zeroes (III) 【二分】
2015-09-22 12:36
549 查看
Description
You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N! = 1*2*...*N. For example, 5! = 120, 120 contains one zero
on the trail.
Input
Input starts with an integer T (≤ 10000), denoting the number of test cases.
Each case contains an integer Q (1 ≤ Q ≤ 108) in a line.
Output
For each case, print the case number and N. If no solution is found then print 'impossible'.
Sample Input
3
1
2
5
Sample Output
Case 1: 5
Case 2: 10
Case 3: impossible
思路:只有2*5才会出现0,因在阶乘过程中2的个数比5多,所以只要求出阶乘中有多少个因子5即可。
代码:
You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N! = 1*2*...*N. For example, 5! = 120, 120 contains one zero
on the trail.
Input
Input starts with an integer T (≤ 10000), denoting the number of test cases.
Each case contains an integer Q (1 ≤ Q ≤ 108) in a line.
Output
For each case, print the case number and N. If no solution is found then print 'impossible'.
Sample Input
3
1
2
5
Sample Output
Case 1: 5
Case 2: 10
Case 3: impossible
思路:只有2*5才会出现0,因在阶乘过程中2的个数比5多,所以只要求出阶乘中有多少个因子5即可。
代码:
#include<stdio.h> long long find(long long x) { long long num=0; while(x) { num+=x/5; x/=5; } return num; } int main() { int t,i; scanf("%d",&t); for(i=1;i<=t;i++) { int n; scanf("%d",&n); printf("Case %d: ",i); long long l=1; long long r=1000000000000; long long mid; while(l<=r) { mid=(l+r)/2; long long x=find(mid); if(x>=n) r=mid-1; else l=mid+1; } if(find(l)!=n) printf("impossible\n"); else printf("%lld\n",l); } return 0; }
相关文章推荐
- 解决Could not reliably determine the server's fully qualified domain name
- Gradle project sync failed Error:Connection reset问题
- CMMI中的过程管理(DMAIC)
- UVA-10976 Fractions Again?!
- exit和return的区别 http://blog.csdn.net/firefly_2002/article/details/7960595
- linux 0号进程 1号进程 区别(转) http://blog.csdn.net/yjzl1911/article/details/5613569
- extmail的一些事
- 关于main()函数参数的问题
- QQ协议分析及还原 http://blog.csdn.net/qinggebuyao/article/details/7814499
- Command /usr/bin/codesign failed with exit code 1
- Command /usr/bin/codesign failed with exit code 1
- init进程 http://blog.csdn.net/dagouaofei/article/details/5644119
- ubuntu 14.04 perl: warning: Setting locale failed.
- asm diskgroup中的failgroup--故障组
- URAL 1727. Znaika's Magic Numbers(数学 vector)
- 约翰.麦卡锡继承图灵遗愿继续推进人工智能(AI)研究
- Leetcode Contains Duplicate III
- Leetcode Contains Duplicate II
- LightOJ 1236 Pairs Forming LCM(算术基本定理)
- Leetcode Contains Duplicate