码迷,mamicode.com
首页 > 其他好文 > 详细

CodeForces 633B A Trivial Problem

时间:2016-03-16 00:48:21      阅读:324      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!