• hdu3189-Just Do It-(埃氏筛+唯一分解定理)


    Just Do It

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 1552    Accepted Submission(s): 1036


    Problem Description
    Now we define a function F(x), which means the factors of x. In particular, F(1) = 1,since 1 only has 1 factor 1, F(9) = 3, since 9 has 3 factors 1, 3, 9. Now give you an integer k, please find out the minimum number x that makes F(x) = k.
     
    Input
    The first line contains an integer t means the number of test cases.
    The follows t lines, each line contains an integer k. (0 < k <= 100).
     
    Output
    For each case, output the minimum number x in one line. If x is larger than 1000, just output -1.
     
    Sample Input
    4 4 2 5 92
     
    Sample Output
    6 2 16 -1
    翻译:输入k,求因子数为k的数最小是哪个。
    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<algorithm>
    #include<string>
    #include<vector>
    #include<iostream>
    #include<cstring>
    #define inf 0x3f3f3f3f
    using namespace std;
    #define ll long long
    const int maxx=1e6+5;
    
    int cnt[maxx];///下标是自然数,内容是这个自然数有多少个因子
    int ans[maxx];///下标是因子数,内容是含有这么多因子数最小是哪个数
    
    void init()//埃氏筛打表
    {
        memset(ans,-1,sizeof(ans));
        memset(cnt,0,sizeof(cnt));
        for(int i=1;i<maxx;i++)
        {
            for(int j=i;j<maxx;j=j+i)
            {
                cnt[j]++;
            }
            if( ans[ cnt[i] ]==-1 )///i从1开始,越变越大,因子数也会越来越多
                ans[ cnt[i] ]=i;///ans的下标 第一次遇见 没有遇见过的因子数目,就把i传进去,此时的i最小
        }
    }
    
    int main()///hdu3189
    {
        init();
        int t;
        scanf("%d",&t);
        while(t--)
        {
            int n;
            scanf("%d",&n);
            if(ans[n]>1000)
                printf("-1
    ");
            else
                printf("%d
    ",ans[n]);
        }
        return 0;
    }
  • 相关阅读:
    vbs获取当月的第一天和最后一天的日期
    vbscript基础篇
    win10专业版激活
    python selenium中Excel数据维护
    python里面的xlrd模块详解
    python 转换为json时候 汉字编码问题
    用VBA得到EXCEL表格中的行数和列数
    表关联关系,表的复制
    存储引擎,详细建表语句,数据类型,约束
    数据库基础
  • 原文地址:https://www.cnblogs.com/shoulinniao/p/10357512.html
Copyright © 2020-2023  润新知