1239.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 48 行

CPP
48
字号
#include<iostream>
#include<cmath>
using namespace std;
const int max_num=1128;
int s[max_num];
int judge(int n){
    int a=sqrt(double(n));
    int i,sign=1;
    for(i=2;i<=a;i++)
        if(n%i==0){
            sign=0;
            break;
        }
    return sign;
}
void init(){
    int i,j;
    s[0]=2;
    j=1;
    for(i=3;i<9092;i+=2)
        if(judge(i)==1)
            s[j++]=i;
}
void main()
{
    init();
    int m,a,b;
    int i,j,M,i_index,j_index;
    double ab,pq;
    while(cin>>m>>a>>b&&m&&a&&b){
        M=0;
        ab=a*1.0/b;
        for(i=0;i<max_num;i++)
            for(j=i;j<max_num;j++){
                pq=s[i]*1.0/s[j];
                if(s[i]>m||s[j]*s[i]>m)
                    break;
                if(s[i]*s[j]>M&&pq>=ab){
                    M=s[i]*s[j];
                    i_index=s[i];
                    j_index=s[j];
                }
            }
        cout<<i_index<<" "<<j_index<<endl;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?