LightOJ 1138 Trailing Zeroes (III)
来源:互联网 发布:数据结构与算法知识点 编辑:程序博客网 时间:2024/06/05 17:06
题目分析
这道题刚开始拿到手中并没有什么好的想法,但是自己想一下会发现,n!我们会发现末尾含有0,说明相乘的时候必然可以拆分出2和5,同时是2的倍数明显比5的倍数多很多,那么我们找0的个数就等价于找5的个数,然后对于5的个数,我们通过二分是5的多少倍,同时我们需要求出是
51,52,53,.....,5m 的多少倍,累计即可。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define LL long longLL solve(LL x){ LL temp = 5; LL ans = 0; while(x/temp){ ans += x/temp; temp *= 5; } return ans;}int main(){ int T, N; scanf("%d", &T); for(int kase = 1; kase <= T; kase++){ scanf("%d", &N); LL l = 1, r = 1e8; while(l < r){ LL mid = (l+r)/2; if(solve(mid*5) >= N) r = mid; else l = mid+1; } if(solve(r*5) != N) printf("Case %d: impossible\n", kase); else printf("Case %d: %lld\n", kase, 5*r); } return 0;}
0 0
- lightOJ 1138 Trailing Zeroes (III)
- LightOJ 1138 Trailing Zeroes (III)
- LightOJ 1138Trailing Zeroes (III)
- LightOJ 1138 Trailing Zeroes (III)
- LightOJ - 1138 Trailing Zeroes (III)
- lightoj-【1138 - Trailing Zeroes (III)】
- 【LightOJ 1138 Trailing Zeroes (III)】
- LightOJ 1138 Trailing Zeroes (III)
- LightOJ 1138 Trailing Zeroes (III)
- LightOJ 1138 Trailing Zeroes (III)
- lightoj Trailing Zeroes (III)
- Trailing Zeroes (III) LightOJ
- *lightoj 1138 Trailing Zeroes (III) | 二分+数学
- LightOJ-1138 Trailing Zeroes (III) (二分搜索)
- lightoj 1138 - Trailing Zeroes (III)【二分】
- LightOJ-1138 Trailing Zeroes (III) (二分搜索)
- Lightoj 1138 Trailing Zeroes (III) 【二分】
- LightOJ 1138 Trailing Zeroes (III)(二分)
- 不安装oracle客户端,pl/sql developer 远程连接oracle
- 深入浅出设计模式之建造模式
- Windows驱动开发报错集锦
- Linux安装Redis(CentOS 6.5)
- Android系统中Parcelable和Serializable的区别
- LightOJ 1138 Trailing Zeroes (III)
- 基于DOM现有的insertBefore()方法封装一个insertAfter()方法
- 机器学习零基础?手把手教你用TensorFlow搭建图像识别系统
- CSS 文章目录
- Java学习笔记--Volatile关键字和内存可见性
- JS获取当前网页大小以及屏幕分辨率等
- 关于win64位系统与32位开发平台
- Axure8.0教程:利用中继器对表格的增删改操作
- 编号:1000 题目:【2017.1.17 】match