嗯...

题目链接:https://vjudge.net/contest/318956#problem/E

这道题是二分答案+数论,但首先是数论,否则你不知如何二分...

首先关于一个阶乘的结果最后会出现0(即10),肯定是由2 * 5所造成的,而对于正整数 N,在[0, N]范围内,质因子中含有 2 的总是会比质因子含有 5 的要多。所以,只要需要知道质因数含有 5 的数字有多少个,即可知道末尾连续出现 0 的个数有多少...

然后我们进行二分答案,从1~5e8 + 5(一定要足够大!)进行二分,如果当前答案处理出来的5的个数正好等于a,那么它可能是答案,因为可能我们把较小的遗漏了,所以我们要继续二分,如果有比它小的,继续更新...

AC代码:

 #include<cstdio>
#include<iostream> using namespace std; inline int check(int x){
int ans = ;
while(x){
ans += x / ;
x /= ;
}
return ans;
}//处理5的个数,即末尾0的个数 int main(){
int t, m = ;
scanf("%d", &t);
while(t--){
int ans = , a;
m++;
scanf("%d", &a);
int l = , r = 5e8 + ;
while(l <= r){
int mid = (l + r) >> ;
int _mid = check(mid);
if(_mid > a) r = mid - ;
else if(_mid < a) l = mid + ;
else if(_mid == a) {ans = mid; r = mid - ;}//可能有答案遗漏
}
if(ans) printf("Case %d: %d\n", m, ans);
else printf("Case %d: impossible\n", m);
}
return ;
}

AC代码

最新文章

  1. C#编程语言与面向对象——核心
  2. reason: &#39;-[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance
  3. Windows下一些配置信息
  4. ylbtech-Unitity-CS:Hello world
  5. 遇到java.lang.OutOfMemoryError: Java heap space问题【持续跟踪中...】
  6. 控制器view加载
  7. mysql查询最近一小时的数据
  8. Struts2中的ActionContext
  9. 判断客户端使用的是安卓还是苹果,然后加载对应的css文件
  10. badboy 录制脚本并并发脚本
  11. 剑指offer 第十天
  12. hive 中遇到的正则
  13. Ipython使用指南
  14. [MongoDB]Mongo基本使用
  15. 【Vue.js】vue引入组件报错:该组件未注册?
  16. vscode编辑器自动生成.vue文件
  17. MVC在filter中如何获取控制器名称和Action名称
  18. 吉哥系列故事——临时工计划(dp)
  19. Fluent UDF【4】:C语言
  20. MTK 锁屏配置

热门文章

  1. library 中的internal power为何为负值?
  2. python 把list中的所有元素串起来变为字符串
  3. 题解 UVA1335 【Beijing Guards】
  4. 有关C/C++中,表达式计算顺序的问题,以及表达式内部变量“副作用”问题(转)
  5. 线段树 区间查询最大值,单体修改 hdu 1754
  6. Nuxt项目文件目录结构解释
  7. 利用数据库管理工具(Navicat)导出数据到Excel表中
  8. List 数据分批入库
  9. Go_random
  10. 深度学习之反向传播算法(BP)代码实现