问题:https://leetcode.com/problems/factorial-trailing-zeroes/?tab=Description
Given an integer n, return the number of trailing zeroes in n!.
给定一个整数n,返回n!的末尾0的个数,要求对数阶时间复杂度。
分析:产生0是因为2*5才有,而n!中2的个数永远比5多,所以计算5因子的个数即可。
C++代码:
class Solution {
public:
int trailingZeroes(int n) {
int res=0;
while(n){
res=res+n/5;
n=n/5;
}
return res;
}
};