hdu1239
来源:互联网 发布:炒股模拟软件新手 编辑:程序博客网 时间:2024/05/18 22:43
/*
分析:
下面的摘是杭电课件里面的分析:
摘:
p,q的范围其实可在2—50000(why?)
然而,这是最小的范围吗?
考虑大于10000的某个质数,不妨设为Q,另一个质数为P,则:
1、如果P<10,P/Q<0.001
2、如果P>10,P*Q>100000
而考虑到a,b的取值范围(1<=a<=b<=1000)
可知min(a/b)=0.001
同时,要求: p*q<=m<=100000
所以无论如何质数都不能超过10000。(事实上,不会超过9091)
2012-04-20
*/
分析:
下面的摘是杭电课件里面的分析:
摘:
p,q的范围其实可在2—50000(why?)
然而,这是最小的范围吗?
考虑大于10000的某个质数,不妨设为Q,另一个质数为P,则:
1、如果P<10,P/Q<0.001
2、如果P>10,P*Q>100000
而考虑到a,b的取值范围(1<=a<=b<=1000)
可知min(a/b)=0.001
同时,要求: p*q<=m<=100000
所以无论如何质数都不能超过10000。(事实上,不会超过9091)
2012-04-20
*/
#include"stdio.h"#include"string.h"#include"math.h"int main(){int prime[2000],k;int num[10001];int i,l;int temp;int m;double a,b;double limit;int w,h;double max;memset(num,0,sizeof(num));num[0]=num[1]=1;k=0;for(i=2;i<=10000;i++){if(num[i]==0){for(temp=2*i;temp<=10000;temp+=i)num[temp]=1;prime[k]=i;k++;}}while(scanf("%d%lf%lf",&m,&a,&b),m!=0||a!=0||b!=0){limit=a/b;max=0;for(i=k-1;i>=0;i--){for(l=i;l>=0;l--){if(prime[i]>m||prime[l]>m||prime[i]*prime[l]>m)continue;if((double)prime[l]/prime[i]<limit)continue;if(prime[i]*prime[l]>max){max=prime[i]*prime[l];w=prime[i];h=prime[l];}}}printf("%d %d\n",w>h?h:w,w>h?w:h);}return 0;}
- hdu1239
- hdu1239-剪枝
- HDU1239:Calling Extraterrestrial Intelligence Again
- HDU1239 Calling Extraterrestrial Intelligence Again
- hdu1239(Calling Extraterrestrial Intelligence Again 暴力搜索)
- hdu1239 Calling Extraterrestrial Intelligence Again (枚举)
- hdu1239 Calling Extraterrestrial Intelligence Again(贪心)
- HDU1239 Calling Extraterrestrial Intelligence Again (打表+暴力)
- hdu1239 Calling Extraterrestrial Intelligence Again (小组赛C) 素数对
- csdn-s2-lesson2
- JAVA txt文件生成JPG图片水印文章
- C#识别验证码
- 在线Office文档解决方案
- for 语句的使用
- hdu1239
- 流行Linux发行版介绍
- C#获取系统信息
- 【汇编】汇编程序入门篇
- poj1833【STL的permutation】
- 使用eclipse_cdt调试网上的开源c软件
- <深入浅出> tty pty读写大体流程拾遗
- Google 正在组建下一代开源网络,基于 OpenFlow 协议
- 【JTharness4_4_0】【6.如何定义自己的Interview】