描述
输出m的阶乘末尾有多少个0?(注意m阶乘的结果可能超出数值型数据的存储范围)
输入
第1行是一个整数n,表示随后有n组数据。每组输入数据占一行。
输出
对每组数据m,输出其阶乘末尾0的个数,并换行。
样例
输入 输出
2
5 1
100 24
思路
5的倍数各贡献一个5
25的倍数各贡献一个5
125的倍数贡献一个5
……
代码
#include<stdio.h>
void proc()
{
int n,k=5,a=0;
scanf("%d",&n);
while(n/k)
{
a+=n/k;
k*=5;
}
printf("%d\n",a);
}
int main()
{
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
proc();
}
}