lightoj-1138-Trailing Zeroes (III) -二分查找
来源:互联网 发布:keynote mac版 编辑:程序博客网 时间:2024/05/17 23:27
题目传送门:https://vjudge.net/problem/LightOJ-1138
题意:给你一个数字,这个数字代表N!后面有几个0。给出这个数字,计算N的值。
解题思路:
任何质因数都可以写成素数相乘的形式。所以计算一个数的阶乘后面几个0,只需计算这个数包含多少5即可。
ac代码;
#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <cctype>#include <string>#include <vector>#include <queue>#include <cmath>#include <stack>#include <map>#include <set>#define inf 0x3f3f3f3f#define N 500000000typedef long long ll;using namespace std; int ok(int x){ int sum = 0; while(x) { sum = sum + x/5; x /= 5; } return sum;} int main(){ int T; scanf("%d", &T); for(int i = 1; i <= T; i++) { int n; scanf("%d", &n); int l = 0, r = N, mid; while(l <= r) { mid = (l + r) /2; int b = ok(mid); if(b >= n) { r = mid-1; } else { l = mid+1; } } if(ok(l) == n) printf("Case %d: %d\n", i, l); else printf("Case %d: no\n", i); } return 0;}
阅读全文
0 0
- 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 1138 Trailing Zeroes (III) 【二分】
- 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 1138Trailing Zeroes (III)
- LightOJ 1138 Trailing Zeroes (III)
- LightOJ - 1138 Trailing Zeroes (III)
- 【qt】QT5.7.0+opencv2.4.9配置
- Android录制视频示例
- C#的Winform窗体之间的传值
- centos永久修改hostname
- 如何在jsp上查询并显示数据库mysql的数据表格
- lightoj-1138-Trailing Zeroes (III) -二分查找
- android sutdio调试无线连接,直正的丢掉数据线 ADB WIFI
- ThinkPHP3.2.3实现QQ等第三方登录
- JAVA代码覆盖率工具JaCoCo-原理简单分析
- c/c++常考面试题(二)
- Lua中 'local xxx do ... end' 到底表达了什么
- python函数参数传递规则
- Matplotlib的中文字体显示为方块的问题
- OpenCV摄像头捕获