从输入中读取一个数n,求出n!中末尾0的个数。
输入格式:
输入有若干行。第一行上有一个整数m,指明接下来的数字的个数。然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000000。
输出格式:
对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数。
输入样例:
3
3
100
1024
输出样例:
0
24
253
比方说求15的阶乘,也就是求
1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 × 9 × 10 × 11 × 12 × 13 × 14 × 15 的末尾0的个数。现在我们把这15个数分解出来含有5的因子
1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 × 9 × 2 × 11 × 12 × 13 × 14 × 3
× 5 × 5
每有一个5,阶乘末尾就会多出来一个0,这样n / 5就能统计完第一层5的个数,依次处理,就能统计出来所有5的个数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=1;i<=n;i++)
{
int m = sc.nextInt();
int res = 0;
while(m>0)
{
res+=m/5;
// System.out.println(res+" "+m/5);
m/=5;
}
System.out.println(res);
}
}
}