zoukankan      html  css  js  c++  java
  • hdu---------3189-------------------

    水体一个,但是这种做题的方法值得发扬光大............

    Just Do It
    
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 1122    Accepted Submission(s): 743
    
    
    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

    意思大概是,,,,,,9的因子都有1  3  9   三个数字  4也有三个因子    现在输入一个3  你需要输出   4(因为4 是有三个因子的数字中最小的数字)....意思就是这            很简单打表遍历,,,,但是  遍历的时候想到了,,,  如果倒序   遍历的话,例如  便利到9发现有3个因子,

    这时候数组赋值为   a[3]=9;   然后一会有到4了,也是4个因子  在此进行赋值  a[3]=4;   这样的话,,简单又弱智

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int q,i,j,m,n,t,a[1001],b,c;
        memset(a,0,sizeof(a));
        for(i=1000;i>0;i--)
        {
            q=0;
            for(j=i;j>0;j--)
            {
                if(i%j==0)
                    q++;
            }
            a[q]=i;
        }
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            m=a[n];
            if(m==0)
                m=-1;
            printf("%d
    ",m);
        }
        return 0;
    }
  • 相关阅读:
    iOS layoutSubviews 什么时候会被调用
    view
    NSDictionaryOfVariableBindings
    获取相册中得图片
    相机
    给定文字测量它的大小
    git
    单例的创建
    物理引擎简介——Cocos2d-x学习历程(十三)
    场景切换特效Transition——Cocos2d-x学习历程(十二)
  • 原文地址:https://www.cnblogs.com/A-FM/p/5125244.html
Copyright © 2011-2022 走看看