LightOJ
来源:互联网 发布:社交网络人力资源 编辑:程序博客网 时间:2024/06/06 02:56
题意:求满足N!包含q个0的最小值
题解:因为N!里面2出现的频率比5多所以只要求出N!中可以拆出几个5即可最后二分n求解出n+1刚好大于等于Q即可
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>using namespace std;int n;bool check(int mid){ int ans = 0; while(mid){ mid/=5; ans += mid; } return ans<n;}int main(){ int t; scanf("%d",&t); int ca = 1; while(t--){ scanf("%d",&n); int l = 1,r = 5e8; while(l<r){ int mid = (l+r+1)/2; if(check(mid)) l = mid; else r = mid-1; } int ans = ++l; int num = 0; while(l){ l/=5; num+=l; } if(num==n) printf("Case %d: %d\n",ca++,ans); else printf("Case %d: impossible\n",ca++); } return 0;}
阅读全文
0 0
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- [LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- JAVA程序通过freemarker生成静态HTML页面
- 鬼谷子的钱袋
- JavaScript中数组的相关方法
- 171022 C++Tips
- virtualenv(python虚拟环境)
- LightOJ
- 手动安装m4, autoconf, automake, libtool
- ha 启动命令
- 深入理解Activity进阶系列(二):界面创建
- (学习java)利用顺序栈简易计算器的编写
- bzoj4326: NOIP2015 运输计划
- jQuery UI Slider组件 设置两个tooltip
- 数据结构与算法(Java描述)-8、中缀表达式转换后缀表达式算法
- 六级_第十一天