zoukankan      html  css  js  c++  java
  • hdu 1239 Calling Extraterrestrial Intelligence Again(数学题)

    题意及解题思路:

           输入m,a,b;输出c,d

           满足条件:

             1.找出两个质数c,d。(大素数表)

             2.满足c*d为不大于m的最大值,(循环判断)

             先找最大的d,然后循环找出(m/d条件下)最大的c,

             还得在用一次d*c最大的条件,退出循环条件为找到的c》d;

             3.并满足 d>=c&&a*d<=b*c(判断条件)

    #include<stdio.h>
    #include<math.h>
    const int M=150000;
    int a[M];
    int isprime()
    {
    
        for(int i=0;i<M;i++)
        a[i]=i;
        a[1]=0;
        for(int i=2;i<sqrt((double)M);i++)
        {
            if(a[i]!=0)
            for(int j=2;i*j<M;j++)
            a[i*j]=0;
        }
        return 0;
    }
    int main()
    {
        int m,ai,b;
        int t,c,d,e,max;
        isprime();
        while(scanf("%d %d %d",&m,&ai,&b)!=EOF&&m!=0&&ai!=0&&b!=0)
        {
            c=0;
            max=0;
            for(int i=m;i>=1;i--)
            {
    
                if(a[i]!=0)
                {
                    //printf("%d**\n",a[i]);
                    d=a[i];
                    for(int j=m/d;j>=1;j--)
                    if(a[j]!=0)
                    {
                        //printf("%d\n",a[j]);
                        t=a[j];
                        if(b*t>=ai*d&&t<=d)
                        {
                            if(d*t>e*c)
                            {
                                e=d;
                                c=a[j];
                            }
                            break;
                        }
    
                    }
                }
                if(t<=d)continue;
                if(c!=0)break;
            }
            printf("%d %d\n",c,e);
        }
        return 0;
    }
  • 相关阅读:
    BZOJ5368:[PKUSC2018]真实排名(组合数学)
    【HDU2222】Keywords Search
    KMP算法
    【BZOJ3262】 陌上花开
    【POJ2104】kth num
    【BZOJ1251】序列终结者
    【BZOJ3524】 [Poi2014]Couriers
    【BZOJ2049】 [Sdoi2008]Cave 洞穴勘测
    【BZOJ1468】Tree
    【BZOJ2152】聪聪可可
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3057005.html
Copyright © 2011-2022 走看看