您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页NEFU 118 n!后面有多少个0 n!素因子的分解

NEFU 118 n!后面有多少个0 n!素因子的分解

来源:爱go旅游网


n!后面有多少个0

Time Limit 1000ms

Memory Limit 65536K

description

从输入中读取一个数n,求出n!中末尾0的个数。
							

input

输入有若干行。第一行上有一个整数m,指明接下来的数字的个数。然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000000。
							

output

对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数。
							

sample_input

3
3
100
1024

							

sample_output

0
24
253

如果说末尾为0,那么肯定可以分解为2*5的形式。因此,每个0肯定对应一对2*5,所以只要求出有多少对2*5就知道末尾有多少0了,而n!在因式分解中,2的因子个数肯定要大于5的因子个数,所以只要求出5的因子个数就是本题的解。

根据性质可知:n!在素因子分解中的素数p的幂为[n/p]+[n/p^2]+[n/p^3]+...所以就可直接求出。

//696k	3ms
#include<stdio.h>
int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        int yinzi=5,sum=0;
        while(yinzi<=n)
        {
            sum+=n/yinzi;//n/yinzi^i
            yinzi*=5;
        }
        printf("%d\n",sum);
    }
    return 0;
}


因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务