ZOJ 2022题解,起初此题纠结了很久。方法没有用对,后经大牛指点恍然大悟,原来就是求1到N有多少是5的倍数,再求25的倍数,125的倍数如此循环。

 1 #include <stdio.h>
2
3 int main()
4 {
5 long n, ncases, sum;
6
7 while(scanf("%ld", &ncases) != EOF)
8 {
9 while(ncases--)
10 {
11 sum = 0;
12 scanf("%ld", &n);
13 while ( n/5 )
14 {
15 sum += n/5;
16 n /= 5;//整除后就可以计算有多少个5^2,5^3等等。
17 }
18 printf("%d\n",sum);
19 }
20 }
21 return 0;
22 }

  

posted @ 2011-09-07 21:09  zhongya  阅读(140)  评论(0编辑  收藏  举报