天天看点

POJ 1411 Calling Extraterrestrial Intelligence Again G++ 易超时

POJ 1411 Calling Extraterrestrial Intelligence Again G++ 易超时
POJ 1411 Calling Extraterrestrial Intelligence Again G++ 易超时
POJ 1411 Calling Extraterrestrial Intelligence Again G++ 易超时
#include <iostream>
#include <cstdio>
using namespace std;
//英语       抄博友程序     博友程序更快    易超时
int prim[10000];
int p[10000];
int main()
{
	int num=0; 
	for(int i=2;i*i<10000;i++)
	{
		if(prim[i]==0)
		{
			//p[num++]=i;//wa  
			for(int j=2;j*i<10000;j++)
			{
				prim[i*j]=1;
			}
		}
	}
	for(int i=2;i<10000;i++)
	{
		if(prim[i]==0)
		{
			p[num++]=i;
		}
	}
	while(1)
	{
		int m,a,b;
		//cin>>m>>a>>b;
		scanf("%d%d%d",&m,&a,&b);
		if(m==0 && a==0 && b==0)
		{
			break;
		}
		int ans=0;
		int ti;
		int tj;
		for(int i=0;i<num && p[i]*p[i]<=m;i++)//抄博友程序   背 
		//for(int i=num-1;i>=0;i--)//抄博友程序 
		{
			//for(int j=i;j<num;j++)
			for(int j=num-1;j>=i;j--)
			{
				if(p[i]*p[j]<=m && (double)p[i]/(double)p[j]>=((double)a/(double)b))
				{
					if(p[i]*p[j]>ans)
					{
						ans=p[i]*p[j];
						ti=i;
						tj=j;
						break;
					}
				}
			}
		}
		cout<<p[ti]<<" "<<p[tj]<<endl;
	}
	return 0;
}
           

继续阅读