POJ 2081 有趣的统计!

此题求n!末尾有多少个0

容易想到末尾0必须是由质因数2*5得到

但是5出现的次数必然远小于2

故统计质因数5的个数即可。

然后这是一个非常巧妙的统计方法。列出前25个数据自己试试便能知道为什么啦。

# include <cstdio>
int t, n, ans;
int main()
{
    scanf("%d", &t);
    while ( t-- )
    {
        scanf("%d", &n);
        ans = 0;
        while( n ) ans += (n/=5);
        printf("%d\n", ans);
    }
    return 0;
}

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>