URL:https://www.lintcode.com/problem/trailing-zeros/
描述
设计一个算法,计算出n阶乘中尾部零的个数
样例
样例 1:
输入: 11
输出: 2
样例解释:
11! = 39916800, 结尾的0有2个。
样例 2:
输入: 5
输出: 1
样例解释:
5! = 120, 结尾的0有1个。
思路:
因为结尾处的每一个0就是数中10的个数,10=2*5,所以求出数中包含的5的个数即可(不能是2的个数,因为2这个质因子包含在其他的数之中)。
在代码段中添加:
long long temp = 5;
long long count = 0;
while(temp<=n){
count+=n/temp;
temp*=5;
}
return count;
即可: