已撤销
chenyukang
全部博文(22)
杂(0)
图论(1)
Dp(1)
排序(6)
数学(4)
并查集(3)
2010年(3)
2009年(19)
chunlove
fengergz
分类:
2009-11-12 23:26:02
//188K 32MS #include <iostream> #include <math.h> using namespace std; #define N 10001 int Primes[N]={2,3}; int NP; int m,a,b; void setPrimes() { int p=2; for(int i=5;i<N;i+=2){ int isprime=true; for(int k=0;k<p&&Primes[k]*Primes[k]<=i;k++){ if(i%Primes[k]==0){ isprime=false; break; } } if(isprime) Primes[p++]=i; } NP=p; } int main() { setPrimes(); while(1) { scanf("%d %d %d",&m,&a,&b); if(m==0) break; int max=0; int ans1,ans2; double limit=(double)a/b; for(int i=NP-1;i>=0;i--) { if(Primes[i]>m) continue; for(int j=i;j<=NP-1;j++) { if(Primes[j]>m||Primes[i]*Primes[j]>m ||((double)Primes[i]/Primes[j])<limit) break; if(Primes[i]*Primes[j]>max){ max=Primes[i]*Primes[j]; ans1=Primes[i]; ans2=Primes[j]; } } } printf("%d %d\n",ans1,ans2); } return 0; }
上一篇:POJ 1650
下一篇:POJ 2325
登录 注册