LeetCode-172.Factorial Trailing Zeroes
来源:互联网 发布:anaconda mac 安装 编辑:程序博客网 时间:2024/06/04 18:21
https://leetcode.com/problems/factorial-trailing-zeroes/
Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
比较笨的办法,就是分别统计因数中10,5,2的个数int trailingZeroes(int n){int nn = n, n10 = 0,n5=0,n2=0;while (n / 10 > 0){n /= 10;n10 += n;}n = nn;while (n / 5 > 0){n /= 5;n5 += n;}n5 -= n10;n = nn;while (n > 0){n &= (n - 1);n2++;}n2 = nn - n2;return n10 + min(n5, n2);}
分析:
1、代码中用到了n!中求因数k个数的办法。
比如30!求因数5的个数:
首先30/5=6,说明5*1、5*2、...5*6中各有一个因数5
然后6/5=1,说明5*5*1中有两个因数5。
即n/5 + n/25 + n/125 + n/625 + n/3125+...
while (n / k> 0){n /= k;nk += n;}2、求因数2个数的办法比较特殊,题191.Number of 1 Bits中已经用过
3、显然n5肯定比n2小,所以不需要统计n2。所以返回值即n10+n5,又n5实际上是减了n10,因此只要返回原始的n5就好。
int trailingZeroes(int n) { int n5 = 0; while (n / 5 > 0) { n /= 5; n5 += n; } return n5; }
0 0
- LeetCode 172.Factorial Trailing Zeroes
- [LeetCode]172.Factorial Trailing Zeroes
- LeetCode 172. Factorial Trailing Zeroes
- 【LeetCode】172.Factorial Trailing Zeroes
- [leetcode] 172.Factorial Trailing Zeroes
- 【LeetCode】172. Factorial Trailing Zeroes
- 172. Factorial Trailing Zeroes LeetCode
- leetcode: 172. Factorial Trailing Zeroes
- LeetCode--172. Factorial Trailing Zeroes
- [LeetCode]172. Factorial Trailing Zeroes
- leetcode 172. Factorial Trailing Zeroes
- LeetCode *** 172. Factorial Trailing Zeroes
- LeetCode 172. Factorial Trailing Zeroes
- leetcode-172. Factorial Trailing Zeroes
- 【leetcode】172. Factorial Trailing Zeroes
- 172.[Leetcode]Factorial Trailing Zeroes
- Leetcode 172. Factorial Trailing Zeroes
- leetcode 172. Factorial Trailing Zeroes
- apache日志分析简介
- ViewPagerWithIndicator 自定义ViewPager下方带圆点指示器
- Linux下sublime的安装
- JAVA多线程和并发基础面试问答
- iOS开发Keychain简单的使用
- LeetCode-172.Factorial Trailing Zeroes
- 虚拟机下red hat 6.5 linux安装oracle11g
- 多重继承下的虚函数调用~
- 【Android之垂直翻页公告】
- ADT、SDK、JDK、
- Jmeter mysql jdbc 测试简单示例
- 金蝶KIS迷你版标准版备份助手V2.0
- *** Assertion failure in -[CLLocationManager setAllowsBackgroundLocationUpdates:], /BuildRoot/Librar
- Android Browser App 源码分析(一)