首先思考0是如何出现的:因子2 x 因子5 才会出现末尾0
那么我们是否计算出过程中因子2 与 因子5的个数就可以了呢?
但其实计算5出现多少次就可以了,因为过程中2的个数一定比5多得多,好理解一点的说,偶数中都至少会有一个二。
class Solution {
public:
int trailingZeroes(int n) {
int ans;
int five = 0;
while(n){
int temp = n;
while(temp % 5 == 0){
five++;
temp /= 5;
}
n--;
}
return five;
}
};
Accepted
500/500 cases passed (0 ms)
Your runtime beats 100 % of cpp submissions
Your memory usage beats 66.85 % of cpp submissions (5.8 MB)