阶乘的0
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 计算n!的十进制表示最后有多少个0
- 输入
- 第一行输入一个整数N表示测试数据的组数(1<=N<=100)
每组测试数据占一行,都只有一个整数M(0<=M<=10000000) 输出 - 输出M的阶乘的十进制表示中最后0的个数
比如5!=120则最后的0的个数为1 样例输入 -
6 3 60 100 1024 23456 8735373
样例输出 -
0 14 24 253 5861 2183837
-
AC码:
-
#include<stdio.h> int fun(int n,int m) { int i=m,sum=0; while(i<=n) { sum+=n/i; i=i*m; } return sum; } int main() { int T,n,a,b; scanf("%d",&T); while(T--) { scanf("%d",&n); a=fun(n,2); b=fun(n,5); printf("%d\n",a>b?b:a); } return 0; }
- 第一行输入一个整数N表示测试数据的组数(1<=N<=100)