int getDivisorCount(int dividend,int divisor);
void main(void)
{
int sum = 0,i;
for(i = 1;i <= 100;i++)//求10的阶乘尾数0的个数
{
int count = getDivisorCount(i,5);
sum += count;
}
printf("100!zero=%d",sum);
system("PAUSE");
}
/*
*dividend:被除数,divisor除数,有上述原理分析这里divisor的值为5
*这个方法求出1-n中每个数的5的因子个数
*/
int getDivisorCount(int dividend,int divisor)
{
if(dividend == 0)
{
return 0;
}
int count = 0;
if(dividend%divisor == 0)
{
count = 1;
count = count + getDivisorCount(dividend/divisor,divisor);
}
return count;
}