设计一个算法,计算出n阶乘中尾部零的个数
class Solution {
public:
/*
* @param n: A long integer
* @return: An integer, denote the number of trailing zeros in n!
*/
long long trailingZeros(long long n) {
// write your code here, try to do it without arithmetic operators.
/*
* 将n/5的结果再除以5,直到商为0,将每次的结果累加
* 原因:只有和5的倍数相乘的结果才会产生0
* */
long count = 0;
long temp=n/5;
while (temp!=0) {
count+=temp;
temp/=5;
}
return count;
}
};