2020.11.3每日复习
面试题16.05 阶乘尾数
分析
- 就是求1-n中有几个5,。要注意,25有两个5,50有两个5,125有三个5…,在计算时要把这些5都算进去
- 就相当于算1-n中有几个5,有几个25,有几个125等等
class Solution {
public int trailingZeroes(int n) {
int count = 0;
while(n >= 5) {
//count = n / 5 + n / 25 + n / 125 + n / 625 + ...
//count = n / 5 + n / 5 / 5 + n / 5 / 5 / 5 + n / 5 / 5 / 5 / 5 + ...
//这样,第一次加上的就是 每隔 5 个数的 5 的个数,第二次加上的就是 每隔 25 个数的 5 的个数 ...
count += n / 5;
n /= 5;
}
return count;
}
}