#include<stdio.h>
int isprime[10000]={0};
int pr[1500];
int main()
{
int i,j;
for(i=2;i<=101;++i)
if(isprime[i]==0)
for(j=i;j*i<10000;++j)
isprime[j*i]=1;
for(i=2,j=0;i<10000;i++)
if(!isprime[i])
pr[j++]=i;
int m,a,b;
while(~scanf("%d%d%d",&m,&a,&b),m||a||b)
{
int max=0;
int w,h;
for(i=1228;i>=0;--i)
{
if(pr[i]*2>m)
continue;
for(j=i;j<1229;j++)
{
if(pr[j]*pr[i]>m)
break; //开始时用continue一直超了,但奇葩的是在杭电可以过
if(a*pr[j]<=b*pr[i])
{
int temp=pr[i]*pr[j];
if(temp>max){
max=temp;
w=pr[i];
h=pr[j];
}
}
}
}
printf("%d %d\n",w,h);
}
return 0;
}
POJ 1411
最新推荐文章于 2021-02-10 05:09:36 发布