poj 1411 素数 水题
2013-08-20 10:52
357 查看
传送门
题意:给你m,a,b,要求输出这样的p和q满足:p、q为素数,a/b<=p/q<=1,p*q<=m且p*q是最大的。
思路:先筛素数,然后找满足这样的p和q。思路很简单,但找的时候注意技巧,一开始TLE了两发。
题意:给你m,a,b,要求输出这样的p和q满足:p、q为素数,a/b<=p/q<=1,p*q<=m且p*q是最大的。
思路:先筛素数,然后找满足这样的p和q。思路很简单,但找的时候注意技巧,一开始TLE了两发。
#include<iostream> #include<cstdio> using namespace std; int s[100000],m,a,b,p,q,num; bool f[100010]; int main() { num=0; for(int i=2;i<=100000;i++) { if(f[i]==0) { s[num++]=i; for(int j=2*i;j<=100000;j+=i)f[j]=1; } } while(scanf("%d%d%d",&m,&a,&b)) { if(m==0&&a==0&&b==0)return 0; p=0; q=0; for(int i=0;;i++) { if(s[i]*s[i]>m)break; for(int j=i;;j++) { if(s[i]*b<s[j]*a||s[i]*s[j]>m)break; if(s[i]*s[j]>p*q) { p=s[i]; q=s[j]; } } } cout<<p<<" "<<q<<endl; } }
相关文章推荐
- poj 1411 素数筛选
- 素数水题 POJ 2262 Goldbach's Conjecture
- poj 1411 Calling Extraterrestrial Intelligence Again 筛素数
- POJ 1595 Prime Cuts(我的水题之路——素数取中间区域,准确定位)
- POJ2909_Goldbach's Conjecture【素数判断】【水题】
- POJ 1595 素数打表水题
- POJ 2739 素数打表-----水题
- poj 2262 Goldbach's Conjecture 素数 水题
- poj 2262 Goldbach's Conjecture 素数 水题
- poj 1411 筛素数
- poj 3006水题打素数表
- Relatives+水题+欧拉函数+素数打表的基本应用+poj
- poj 3006水题打素数表
- POJ 2909 Goldbach's Conjecture(我的水题之路——任一数为素数对之和)
- POJ 2739 Sum of Consecutive Prime Numbers(素数打表水题)
- POJ1595_Prime Cuts【素数】【水题】
- POJ1595_Prime Cuts【素数】【水题】
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions(我的水题之路——加i个d后的第几个素数)
- POJ 1595 素数打表水题
- Poj 水题