LeetCode:Factorial Trailing Zeroes

原创 2015年11月17日 17:28:38

问题描述:

Given an integer n, return the number of trailing zeroes in n!.

计算n!中0的个数。

思路:

对n!做质因数分解n!=2x*3y*5z*...

显然0的个数等于min(x,z),并且min(x,z)==z

证明:

对于阶乘而言,也就是1*2*3*...*n
[n/k]代表1~n中能被k整除的个数
那么很显然
[n/2] > [n/5] (左边是逢2增1,右边是逢5增1)
[n/2^2] > [n/5^2](左边是逢4增1,右边是逢25增1)
……
[n/2^p] > [n/5^p](左边是逢2^p增1,右边是逢5^p增1)
随着幂次p的上升,出现2^p的概率会远大于出现5^p的概率。
因此左边的加和一定大于右边的加和,也就是n!质因数分解中,2的次幂一定大于5的次幂

JAVA代码:

public class Solution {
    public int trailingZeroes(int n) {
        if(n < 0) return 0;
        int cnt = 0;
        while(n != 0){
            cnt += n / 5;
            n /= 5;
        }
        return cnt;
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode(172) Factorial Trailing Zeroes

题目如下: Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be ...
  • feliciafay
  • feliciafay
  • 2015年01月02日 03:46
  • 6730

leetcode 172: Factorial Trailing Zeroes

Factorial Trailing Zeroes Total Accepted: 28 Total Submissions: 69 Given an integer n, return the...
  • xudli
  • xudli
  • 2014年12月30日 09:54
  • 9534

【LeetCode-面试算法经典-Java实现】【172-Factorial Trailing Zeroes(阶乘尾后0的数目)】

【172-Factorial Trailing Zeroes(阶乘尾后0的数目)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.com/W...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月23日 06:43
  • 2568

172. Factorial Trailing Zeroes [easy] (Python)

题目链接https://leetcode.com/problems/factorial-trailing-zeroes/题目原文 Given an integer n, return the nu...
  • coder_orz
  • coder_orz
  • 2016年06月05日 17:40
  • 1016

LeetCode Factorial Trailing Zeroes数学方法详解

Given an integer n, return the number of trailing zeroes in n!.题目的意思是要求一个整数的阶乘末尾有多少个0;1.需要注意的是后缀0是由2...
  • taoyanqi8932
  • taoyanqi8932
  • 2016年08月05日 15:14
  • 945

Leetcode: Factorial Trailing Zeroes

Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in lo...
  • doc_sgl
  • doc_sgl
  • 2015年01月02日 21:23
  • 7121

Leetcode:172. Factorial Trailing Zeroes(JAVA)

【问题描述】 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution s...
  • u010183658
  • u010183658
  • 2016年03月08日 11:14
  • 221

[LeetCode] Factorial Trailing Zeroes

Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in ...
  • zjjee
  • zjjee
  • 2014年12月31日 15:25
  • 331

LeetCode -- Factorial Trailing Zeroes

LeetCode -- Factorial Trailing Zeroes
  • csharp25
  • csharp25
  • 2015年10月04日 16:19
  • 892

Factorial Trailing Zeroes -- leetcode

Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in lo...
  • elton_xiao
  • elton_xiao
  • 2015年06月25日 15:50
  • 329
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode:Factorial Trailing Zeroes
举报原因:
原因补充:

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