程序员面试金典

时间:2022-11-05 00:38:57

程序员面试金典--阶乘尾零

 

题目描述

请设计一个算法,计算n的阶乘有多少个尾随零。

给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数。

测试样例:
5
返回:1

 

其实就是计算5 和2 的约数个数,两者最小即可。

 

class Factor {
public:
int getFactorSuffixZero(int n) {
// write code here
int cnt5 = 0, cnt2 = 0;
for(int i=5; i<=n; i = 5*i){
cnt5 += n/i;
}
for(int i=2; i<=n; i = 2*i) {
cnt2 += n/i;
}
return min(cnt2, cnt5);
}
};