Light OJ 1138
这题,一开始我通过打表找规律,后面WA了几发,发现应该不是那么做。
然后开始分析,0是怎么出现的?
10!两个0?101出一个,52出一个。
15!三个0?154出一个,101出一个,52出一个。
到这里不难发现了,只要在乘法中,出现5的倍数就会让0躲起来,那么多多少个呢?那当然是5的个数,为什么?
因为例如25! 25可以拆成55,那这两个5去寻找任意的因数都能出1个零,所以我们只要找5的因子个数就好了。
怎么找?
【数论:[N/5]+[N/5 ^ 2 ] +[N/5 ^ 3]+[N/5^4]+…】这里是为什么呢?
分析一个,求5的因子,有可能含有两个5,那么我们就要求n/5=5的个数。n/25=25的个数,n/125=125的个数,全部加起来,就是5的因子个数了。
int tj(int x)
{int ans=0;while(x){ans+=x/5;x/=5;}return ans;
}
然后再二分查找5的个数,复杂程度O(logn)
int brinary_search(int n)
{ll l,r,m;l=1;r=maxn;while(l<=r){m=(l+r)>>1;if(tj(m)<n)l=m+1;elser=m-1;}if(tj(l)==n)return l;else return 0;
}
int main()
{int t;scanf("%d",&t);for(int cas=1;cas<=t;cas++){ll x;scanf("%lld",&x);if(brinary_search(x)!=0)printf("Case %d: %d\n",cas,brinary_search(x));elseprintf("Case %d: impossible\n",cas);}
}
Light OJ 1138相关推荐
- Light OJ 1406 Assassin`s Creed 减少国家DP+支撑点甚至通缩+最小路径覆盖
标题来源:Light OJ 1406 Assassin`s Creed 意甲冠军:向图 派出最少的人经过全部的城市 而且每一个人不能走别人走过的地方 思路:最少的的人能够走全然图 明显是最小路径覆盖问 ...
- Light OJ 1316 A Wedding Party 最短路+状态压缩DP
题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两 ...
- Light OJ - 1008 - Fibsieve`s Fantabulous Birthday 题解
就是计算特殊长方形坐标的问题,这类题目需要的是细心,细心,再细心,然后推导摸索出公式来, 题目如下: Fibsieve had a fantabulous (yes, it's an actual w ...
- light oj 1011Marriage Ceremonies
总结状压dp板子. 强迫症预处理,多写了几行但非常快 #include<cstdio> #include<cstring> #include<algorithm> ...
- Light OJ 1012
经典搜索水题...... #include<bits/stdc++.h> using namespace std; const int maxn = 20 + 13; const int ...
- Light OJ 1373 Strongly Connected Chemicals 二分匹配最大独立集
m种阳离子 n种阴离子 然后一个m*n的矩阵 第i行第j列为1代表第i种阴离子和第j种阴离子相互吸引 0表示排斥 求在阳离子和阴离子都至少有一种的情况下 最多存在多少种离子能够共存 阴阳离子都至少须要 ...
- Light OJ 1214 Large Division (大数取模)
题目: Given two integers, a and b, you should check whether a is divisible by b or not. We know that a ...
- Light OJ 1007
求区间欧拉函数平方和... 最后因为longlong 范围爆了WA 了, 0.0 #include<bits/stdc++.h> using namespace std; const in ...
- Light oj 1214-Large Division (同余定理)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1214 题意很好懂,同余定理的运用,要是A数被B数整除,那么A%B等于0.而A很大,那我 ...
- Light OJ 1078
题意: 给你 N,K 输出 KKKK.....KK能整除 N, 输出 K 的个数, (最小) 基础数学, 取摸运算即可. #include<bits/stdc++.h> using nam ...
最新文章
- php txt,PHP规范TXT文件
- AutoCAD如何输入文字
- segnet 编译与测试
- 3点 刚体运动 opencv_模态法动力学分析中的刚体模态
- 漫步最优化十二——局部极小与极大的充分必要条件(下)
- Apache基金会获得Pineapple基金88.34比特币捐赠
- c语言指向读取的字节数的指针,c - C语言中指针的大小 - SO中文参考 - www.soinside.com...
- python的整数类型_python基本数据类型
- Libmodbus 移植
- 解决jupyter notebook报错500的问题
- 33个地区发iPhone5,老外纳闷中国没人排队_-Chaz-_新浪博客
- 小程序将页面转为图片--Wxml2Canvas
- 虚拟机安装专用游戏多开win7系统教程简单易懂
- 微信JSSDK invalid signature签名错误的解决方法
- 2023届双非跨保计算机经验贴(最终上岸浙软)
- uc浏览器返回按钮的兼容_浏览器的返回、后退、上一页按钮的事件方法
- PMP学习笔记20161130
- 专访|十年程序员董一凡:生命不息,学习不止
- I.MX6ULL_Linux_基础篇(11) DDR介绍与校准
- 关于心跳ajax请求pending状态(被挂起),stalled时间过长的问题。涉及tcp连接异常。
热门文章
- frontend -- 框架
- 安装paddledetection
- FER 人脸情绪识别系统
- python禁用路径长度限制有啥影响吗_为什么Windows中存在260个字符的路径长度限制?...
- 关于SEO优化的建议
- 逻辑设计基础_芯片设计--TCAM概述
- VS2016 调用matlab脚本 ——缺少mclmcr.dll
- 一个html文档必须有,创建一个完整的HTML文档总结
- Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme
- Altium Designer 总结