Lintcode 尾部的零
来源:互联网 发布:cool edit mac 破解版 编辑:程序博客网 时间:2024/05/05 02:28
描述:
设计一个算法,计算出n阶乘中尾部零的个数
样例:
11!=33916800,,因此应该返回2
分析:
1.刚拿到题目,直接计算了n!的值,然后溢出了,pass
设计一个算法,计算出n阶乘中尾部零的个数
样例:
11!=33916800,,因此应该返回2
分析:
1.刚拿到题目,直接计算了n!的值,然后溢出了,pass
2.n! = K*10^m,n!=(2^x)*(3^y)*(5^z),10=2*5,所以计算min(2,5),计算5的个数
int count = 0;for(int i = 0;i < n;i++){ int tmp = i; while(n%5 == 0){ count++; tmp = tmp/5; }}
然而,当n足够大的时候,运行时间过长了
3.翻了编程之美,里面有个公式:Z = [n/5]+[n/5^2]+[n/5^3]+···
代码:
public class Solution { /* * @param n: An integer * @return: An integer, denote the number of trailing zeros in n! */ public long trailingZeros(long n) { // write your code here, try to do it without arithmetic operators. long count = 0;while(n!=0){count += n/5;n=n/5;}return count; }}
阅读全文
0 0
- LintCode 尾部的零
- lintcode ---- 尾部的零
- LintCode : 尾部的零
- Lintcode 尾部的零
- LintCode:尾部的零
- Lintcode:尾部的零
- Lintcode 尾部零的个数
- LintCode 2 尾部的零
- LintCode Python 尾部的零
- LintCode 2.尾部的零
- 【LintCode】2、尾部的零
- [Lintcode] #2 尾部的零
- LintCode-(2)尾部的零
- Lintcode 2: 尾部的零
- LintCode 2. 尾部的零
- Lintcode 2. 尾部的零
- lintcode 2:尾部的零
- LintCode Trailing Zeros 尾部的零
- springmvc文件上传
- Python挑战游戏( PythonChallenge)闯关之路Level- 5
- oracle 数据的导出与导入操作
- git 在同一个电脑上配置两个远程仓库
- 【linux】Xshell连接不上虚拟机的问题和解决办法
- Lintcode 尾部的零
- 设计模式——行为型模式
- 网狐6603(预览版) 全部架设过程
- OpenStack PCI passthrough(PIC直通)环境配置
- 怎么将英文网页整篇翻译成中文
- 在windows中使用命令行启动和关闭mariadb
- 02:输出绝对值
- 4.28 leetcode -28 unique-paths
- 递推式模板(黑科技)