【二分 && 唯一分解定理】LightOJ
来源:互联网 发布:spring编程步骤 编辑:程序博客网 时间:2024/06/05 01:53
Problem Description
N! 后面有Q个0,问你第一个后面有Q个0的N!。输出N,找不到输出impossible
思路:
N! = p1^a1 * p2^a2 * … * pn^an。那么后面0的个数就是min(2的指数,5的次数)。由于2比5多,所以我们只考虑5。
100! 有几个0,100/5 = 20, 20/5 = 4, 4/5 = 0 所以100! 后有 20+ 4 = 24个0。
接着我们只需要二分答案即可
#include<bits/stdc++.h>using namespace std;int solve(int mid)//mid!后面几个0{ int res = 0; while(mid) { res += mid / 5; mid = mid / 5; } return res;}int main(){ int T, Case = 1, n, mid; scanf("%d", &T); while(T--) { scanf("%d", &n); int l = 1, r = 1000000000; int flag = 0; while(l <= r) { mid = (l + r) / 2; int res = solve(mid); if(res >= n) { r = mid - 1; if(res == n) flag = 1;//代表肯定有解 } else l = mid + 1; } if(flag)//有答案 printf("Case %d: %d\n", Case++, r + 1); else printf("Case %d: impossible\n", Case++); }}
阅读全文
0 0
- 【二分 && 唯一分解定理】LightOJ
- LightOJ 1236 Pairs Forming LCM(唯一分解定理)
- lightoj 1341 Aladdin and the Flying Carpet (唯一分解定理)
- LightOJ 1236 Pairs Forming LCM(唯一分解定理)
- LightOJ 1236 Pairs Forming LCM (唯一分解定理)
- lightoj 1236 - Pairs Forming LCM 【唯一分解定理】
- LightOJ 1236 - Pairs Forming LCM(唯一分解定理)
- LightOJ 1220 - Mysterious Bacteria(唯一分解定理)
- LightOJ 1236Pairs Forming LCM (唯一分解定理)
- LightOJ 1220 Mysterious Bacteria(唯一分解定理+暴力)
- LightOJ 1236 Pairs Forming LCM(唯一分解定理)
- 【唯一分解定理 && 状态压缩 && 组合数学】LightOJ
- poj2773 —— 二分 + 容斥原理 + 唯一分解定理
- LightOJ 1341 - Aladdin and the Flying Carpet(算术基本定理 唯一分解定理)
- 【算数基本定理(唯一分解定理)】Aladdin and the Flying Carpet LightOJ
- 唯一分解定理
- 唯一分解定理
- 数论-唯一分解定理
- tomcat中同时部署两个项目的问题
- Unity 自定义 飘带脚本
- python 多线程计算特征
- 设计模式学习笔记(一)
- 初用coap总结
- 【二分 && 唯一分解定理】LightOJ
- 区块链从入门到精通
- ParentNode.append和Node.appendChild的区别
- 万万没想到,你变成了这样的 GitHub
- 杨辉三角
- android mvp学习项目
- Cannot create PoolableConnectionFactory
- SQLServer 自定义函数 的递归
- Docker进行新一轮融资以应对加剧的容器竞争