当前位置: 首页 > news >正文

vjudge Trailing Zeroes (III) (二分答案 数论)

嗯...

 

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

 

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

 

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

 

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

 

AC代码:

 1 #include<cstdio>
 2 #include<iostream>
 3 
 4 using namespace std;
 5 
 6 inline int check(int x){
 7     int ans = 0;
 8     while(x){
 9         ans += x / 5;
10         x /= 5;
11     }
12     return ans;
13 }//处理5的个数,即末尾0的个数 
14 
15 int main(){
16     int t, m = 0;
17     scanf("%d", &t);
18     while(t--){
19         int ans = 0, a;
20         m++;
21         scanf("%d", &a);
22         int l = 1, r = 5e8 + 5;
23         while(l <= r){
24             int mid = (l + r) >> 1;
25             int _mid = check(mid);
26             if(_mid > a) r = mid - 1;
27             else if(_mid < a) l = mid + 1;
28             else if(_mid == a) {ans = mid; r = mid - 1;}//可能有答案遗漏 
29         }
30         if(ans) printf("Case %d: %d\n", m, ans);
31         else printf("Case %d: impossible\n", m);
32     }
33     return 0;
34 }
AC代码

 

转载于:https://www.cnblogs.com/New-ljx/p/11343051.html

相关文章:

  • 七夕过后,我依然单身,于是我用Python爬了你们单身的原因
  • NOIP 模拟19
  • GIT上传失败,报错信息:HTTP 413 curl 22 The requested URL returned error: 413
  • vscode——如何对MarkDown文件进行预览
  • VirtualEvn+jupyter
  • hibernate8
  • 如何成为一名专家级的开发人员
  • NOIP 模拟22
  • gitlab搭建与基本使用【转】
  • GoLand——配置goproxy.io代理
  • NOIP模拟26
  • 2019HDU多校 Round9
  • NOIP模拟27(命悬一线)
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下
  • 口头语——反映人的性格
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 230. Kth Smallest Element in a BST
  • download使用浅析
  • express + mock 让前后台并行开发
  • java 多线程基础, 我觉得还是有必要看看的
  • Java知识点总结(JavaIO-打印流)
  • js写一个简单的选项卡
  • Laravel 中的一个后期静态绑定
  • Median of Two Sorted Arrays
  • PHP 的 SAPI 是个什么东西
  • Vultr 教程目录
  • Webpack 4x 之路 ( 四 )
  • 阿里云前端周刊 - 第 26 期
  • 每天一个设计模式之命令模式
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 数组的操作
  • 在electron中实现跨域请求,无需更改服务器端设置
  • - 转 Ext2.0 form使用实例
  • AI算硅基生命吗,为什么?
  • 昨天1024程序员节,我故意写了个死循环~
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • $GOPATH/go.mod exists but should not goland
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (4)STL算法之比较
  • (day6) 319. 灯泡开关
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (三)mysql_MYSQL(三)
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • *2 echo、printf、mkdir命令的应用
  • .describe() python_Python-Win32com-Excel
  • .net Signalr 使用笔记