• Manthan, Codefest 16 -B. A Trivial Problem


    time limit per test 2 seconds
    memory limit per test 256 megabytes
    input standard input
    output standard output

    Mr. Santa asks all the great programmers of the world to solve a trivial problem. He gives them an integer m and asks for the number of positive integers n, such that the factorial of n ends with exactly m zeroes. Are you among those great programmers who can solve this problem?

    Input

    The only line of input contains an integer m (1 ≤ m ≤ 100 000) — the required number of trailing zeroes in factorial.

    Output

    First print k — the number of values of n such that the factorial of n ends with m zeroes. Then print these k integers in increasing order.

    Examples

    input
    1
    output
    5
    5 6 7 8 9
    input
    5
    output
    0

    Note

    The factorial of n is equal to the product of all integers from 1 to n inclusive, that is n! = 1·2·3·…·n.

    In the first sample, 5! = 120, 6! = 720, 7! = 5040, 8! = 40320 and 9! = 362880.

    判断阶乘的结果结尾零的个数为m的数
    打表即可

    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <cstdlib>
    #include <string>
    #include <stack>
    #include <queue>
    #include <vector>
    #include <set>
    #include <list>
    #include <map>
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    typedef long long LL;
    
    const int INF = 0x3f3f3f3f;
    
    const double eps = 1e-6;
    
    const double PI = acos(-1.0);
    
    int num[500000];
    
    int a[11111];
    int ok(int n)
    {
        int ans = 0;
        while(n)
        {
            n/=5;
    
            ans+=n;
        }
        return ans;
    }
    
    int main()
    {
        for(int i = 0;i<500000;i++)
        {
            num[i] = ok(i);
    
        }
        int n,Num;
    
        cin>>n;
    
        Num = 0;
    
        for(int i=0;i<500000;i++)
        {
            if(num[i]==n)
            {
                a[Num++] = i;
            }
        }
        printf("%d
    ",Num);
    
        if(Num)
        {
            for(int i=0;i<Num;i++)
            {
                if(i) printf(" ");
                printf("%d",a[i]);
            }
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    洛谷 P3384 【模板】树链剖分
    codevs 4633 [Mz]树链剖分练习
    看一个人的回答有感(怎么判断数组中有没有未定义的值,如:[,,1,,3])
    bzoj2754: [SCOI2012]喵星球上的点名
    bzoj4456: [Zjoi2016]旅行者
    bzoj4574:Zjoi2016线段树 dp
    bzoj4455: [Zjoi2016]小星星
    bzoj4516: [Sdoi2016]生成魔咒
    uoj#207. 共价大爷游长沙
    bzoj4530:[Bjoi2014]大融合
  • 原文地址:https://www.cnblogs.com/juechen/p/5255857.html
Copyright © 2020-2023  润新知