从输入中读取一个数n,求出n!中末尾0的个数。
输入格式:
输入有若干行。第一行上有一个整数m,指明接下来的数字的个数。然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000000。
输出格式:
对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数。
输入样例:
3
3
100
1024
输出样例:
0
24
253
// 题解:规律n!的末尾0的个数等于累加n/5的和,直到n=0
#include<bits/stdc++.h>
using namespace std;
int T, n;
int main()
{
cin >> T;
while( T-- ) {
int res=0;
cin >> n;
while(n/5){
res+=n/5; //累加n/5的和
n/=5; //把n/5的结果取出来(相当于把n缩小再继续求)
}
cout << res << endl;
}
return 0;
}