0\'s
Time Limit: 1000MS Memory limit: 65536K
题目描述
计算整数n!(n的阶乘)末尾有多少个0。
输入
第一行输入一个数T代表测试数据个数(T<=20)。接下来T行每行1个数代表n(0<=n< 2^31)。
输出
对于每个测试数据输n!末尾有多少个0,每行输出一个结果。
示例输入
3 1 5 10
示例输出
0 1 2
提示
#include <stdio.h>
int main()
{
int num,i,num1,num2 = 0,a;
scanf("%d",&num);
for(i = 1;i <= num;i++)
{
scanf("%d",&a);
num1 = a/5;
while(num1 != 0)
{
num2 = num2 + num1;
num1 = num1 /5;
}
printf("%d\n",num2);
num2 = 0;
}
return 0;
}
分析:
阶乘数的后面的0,与5的数量有关,25可分解成5 * 5