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