题目描述
请设计一个算法,计算n的阶乘有多少个尾随零。
给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数。
测试样例:
5
返回:1
class Factor {
public:
int getFactorSuffixZero(int n) {
// write code here
if(n <= 0)
return 0;
int base=5,count=0;
while(base<=n)
{
int temp =base;
while(temp%5 == 0){
temp /=5;
++count;
}
base+=5;
}
return count;
}
};
简单统计有多少个5就可以了
class Factor {
public:
int getFactorSuffixZero(int n)
{
int res = 0;
for(int i= 5;i <= n;i+= 5)
{
int num = i;
while(num % 5 == 0)
{
num /= 5;
++res;
}
}
return res;
}
};