1. 问题描述:
给定一个N,那么N的阶乘的末尾中0的个数是多少?
2. 解题思路
通过分析可得,只要得到从1到N中每个数5的幂的次数总和。
3. 实现代码:
//----------------------------
// count zero number
//--------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
int i= 0;
int j;
int tmp;
scanf("%d", &n);
// 判断5的幂的个数
for(j = 1; j <= n; ++j )
{
tmp = j;
while(tmp % 5 == 0)
{
i++;
tmp /= 5;
}
}
printf("%d", i);
return 0;
}
|