首页 > 其他 > 详细

CodeForces 633B A Trivial Problem

时间:2016-03-16 00:47:36      阅读:212      评论:0      收藏:0      [点我收藏+]

传送门:http://codeforces.com/problemset/problem/633/B

 

题意:给你一个常数m,要你找出几个数,这几个数的阶乘的最后m位

都是0.

显然 末尾有0 一定能除以10 10可以换成5*2的形式,

那么我们就可以找5的倍数,(如果有5出现 也一定有2)

 

————————————————————————————————————

渣渣之见,随便转载。

#include<cstdio>
int main()
{
    long long n,k=0;       // 看i阶乘的时候 5有几个 比如25 就有 5*5 4*5 3*5 2*5 5,6个5 
    scanf("%I64d",&n);
    for(int i=5;;i=i+5)
    {
        long long temp=i;
        while(temp%5==0)
        {
            temp /= 5 ;
            k++;
        }
        if(k>=n)
            if(k==n)
            {
                printf("5\n");
                printf("%d %d %d %d %d",i
                        ,i+1,i+2,i+3,i+4 );
                break;
            }
            else
            {
                printf("0");
                break;
            } 
    }
}

 

CodeForces 633B A Trivial Problem

原文:http://www.cnblogs.com/Lostsm/p/5281752.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!