hdu 1124 数论

题意:求n!中末尾连续0的个数  其实就是2*5的个数

30! 中有5 10 15 20 25 30  是5的倍数有6个   6=30/5;

6/5=1; 这个1 为25

5  10 15 20  25  30 35 40 45 50 55 60  65 70 75 80  85 90 95 100      100/5=20;

                  25                     50                    75                     100       20/5=4;    有4个25

以此类推

#include<iostream>
using namespace std;
int main()
{
    int n;
    int t,d;
    int sum;
    scanf("%d",&t);
    while(t--)
    {
        sum=0;
        scanf("%d",&n);
        sum=n/5;n=sum;
        while(n/5!=0)
        {
            sum+=n/5;
            n=n/5;
        }
        printf("%d\n",sum);
    }
    return 0;
}

 

posted @ 2014-04-30 09:26  _一千零一夜  阅读(128)  评论(0编辑  收藏  举报