博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1239
阅读量:5110 次
发布时间:2019-06-13

本文共 1231 字,大约阅读时间需要 4 分钟。

首先,p,q>=2,所以p,q<=50000;

然后,我们观察a<=b<1000,而p,q<=100000。那么,q>=10000时,p<=10,则a/b<=1/1000,这已是下限,所以,我们认为p,q<=10000;

1 #include 
2 #include
3 4 using namespace std; 5 6 bool num[10005]; 7 int m,a,b; 8 int pnum[10000]; int n; 9 void type_table(){10 num[1]=true;11 for(int i=1;i<=10000;i++){12 if(!num[i]){13 pnum[++n]=i;14 for(int k=i+1;k<=10000;k++){15 if(num[k]) continue;16 else if(k%i==0) num[k]=true;17 }18 }19 }20 }21 22 int main(){23 n=0;24 memset(num,false,sizeof(num));25 type_table();26 while(scanf("%d%d%d",&m,&a,&b)!=EOF){27 if(m==0&&a==0&&b==0) break;28 int p=0,q=0; int ans=0;29 for(int i=n;i>=1;i--){ //q30 for(int k=1;k<=i;k++){ //p31 if(a*pnum[i]<=b*pnum[k]&&pnum[i]*pnum[k]<=m&&pnum[i]*pnum[k]>ans){32 ans=pnum[i]*pnum[k];33 p=pnum[k];q=pnum[i];34 }35 else if(pnum[i]*pnum[k]>m) break;36 }37 }38 printf("%d %d\n",p,q);39 }40 return 0;41 }
View Code

 

转载于:https://www.cnblogs.com/jie-dcai/p/3795353.html

你可能感兴趣的文章
微服务之初了解(一)
查看>>
GDOI DAY1游记
查看>>
收集WebDriver的执行命令和参数信息
查看>>
数据结构与算法(三)-线性表之静态链表
查看>>
mac下的mysql报错:ERROR 1045(28000)和ERROR 2002 (HY000)的解决办法
查看>>
MyBaits动态sql语句
查看>>
HDU4405(期望DP)
查看>>
拉格朗日乘子法 那些年学过的高数
查看>>
vs code 的便捷使用
查看>>
Spring MVC @ResponseBody返回中文字符串乱码问题
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JS 中的跨域请求
查看>>
JAVA开发环境搭建
查看>>
mysql基础语句
查看>>
Oracle中的rownum不能使用大于>的问题
查看>>
cassandra vs mongo (1)存储引擎
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
遍历Map对象
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
#Leetcode# 209. Minimum Size Subarray Sum
查看>>