Easy-题目32:172. Factorial Trailing Zeroes

转载 2016年05月30日 20:18:47

题目原文:
Given an integer n, return the number of trailing zeroes in n!.
题目大意:
给出正整数n,求n!末尾有几个0.
题目分析:
trivial的做法是把n!求出来,然后除10直到余数不为0,但开销太大(使用BigInteger)
那么分析一下:
(1)0的来源是2*5=10,那么将n!因式分解,有几个2*5就有几个0;
(2)只有末尾是5和0的数里面才有因子5,所以无论如何,n!中因子5都比因子2多,因此数n!里面有几个因子5即可。
(3)接下来比较难以理解,使用分治算法逐步降低问题规模,其递推公式为:
令f(x)表示正整数x中因子5的个数
当0 < n < 5时,f(n!) = 0;
当n >= 5时,f(n!) = k + f(k!), 其中 k = n / 5(取整)。
源码:(language:c)

int trailingZeroes(int n) {
    int ret = 0;
    while(n) {
        ret += n/5;
        n /= 5;
    }
    return ret;  
}

成绩:
0ms,beats 62.92%,众数4ms,59.55%.
cmershen的碎碎念::
代码实现仅有6行,但其中的数学背景却不是很好理解。该递推关系的数学推导见http://blog.csdn.net/niushuai666/article/details/6695790

相关文章推荐

leetcode 172. Factorial Trailing Zeroes

DescriptionGiven an integer n, return the number of trailing zeroes in n!.Note: Your solution should...

LeetCode172——Factorial Trailing Zeroes

LeetCode172——Factorial Trailing Zeroes Given an integer n, return the number of trailing zeroes in ...

LeetCode 172 Factorial Trailing Zeroes

题目描述Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in ...

leetcode172:Factorial Trailing Zeroes

题意:求一个整数的阶乘的尾数0的个数。分析:**方法一:**对n!做质因数分解n!=2x∗3y∗5z∗...n!=2^x*3^y*5^z*... 显然0的个数等于min(x,z)min(x,z),并且...
  • hjxzb
  • hjxzb
  • 2015-04-07 10:37
  • 409

<LeetCode OJ> 172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes My Submissions Question Total Accepted: 45801 Total Submissions: ...

Leetcode Problem.172—Factorial Trailing Zeroes

Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in lo...

【一天一道LeetCode】#172. Factorial Trailing Zeroes

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目...

leetcode-172 Factorial Trailing Zeroes

看上去简单,但是写出logarithmic time complexity的代码还是需要一些思考的。分析在下面的代码注释中。 //计算包含的2和5组成的pair的个数就可以了,一开始想错了,还算了包含...

171. Excel Sheet Column Number\172. Factorial Trailing Zeroes\134. Gas Station\135. Candy

Excel Sheet Column Number 题目描述 代码实现 Factorial Trailing Zeroes 题目描述 代码实现 Gas Station 题目描述 代码实现 Candy ...

172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)