172. Factorial Trailing Zeroes

原题

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

Note: Your solution should be in logarithmic time complexity.

代码实现

计算阶乘n的尾数0的个数

    public int TrailingZeroes(int n) {
            //Because all trailing 0 is from factors 5 * 2.
            //But sometimes one number may have several 5 factors, 
            //for example, 25 have two 5 factors, 125 have three 5 factors. 
            //In the n! operation, factors 2 is always ample. 
            //So we just count how many 5 factors in all number from 1 to n.
            //One line code:
            if (n == 0) return 0;
            return n/5 + TrailingZeroes(n/5);
    }

题库

Leetcode算法题目解决方案每天更新在github库中,欢迎感兴趣的朋友加入进来,也欢迎star,或pull request。https://github.com/jackzhenguo/leetcode-csharp

完成题目索引

http://blog.csdn.net/daigualu/article/details/73008186

你可能感兴趣的:(LeetCode,阶乘,0)