题目链接: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.

思路:

打印结果,然后找规律,发现每隔5个周期0的个数增一,隔5*5再上一轮的基础上再加一,直到5^x>=n。。。

事实上我做的 时候用leetcode的testcase上尝试打印了5、10、15...很容易发现规律..

算法:

public int trailingZeroes(int n) {  
    int result = 0;  
    while (n / 5 != 0) {  
        result += n / 5;  
        n = n / 5;  
    }  
    return result;  
}