HDU1262-寻找素数对
来源:互联网 发布:用户画像的数据来源 编辑:程序博客网 时间:2024/06/09 22:25
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 13923 Accepted Submission(s): 7024
Problem Description
哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.
做好了这件实事,就能说明这个猜想是成立的.
由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的.
Input
输入中是一些偶整数M(5< M <=10000).
Output
对于每个偶数,输出两个彼此最接近的素数,其和等于该偶数.
Sample Input
20 30 40
Sample Output
7 13
13 17
17 23
刚开始未通过代码:
#include<stdio.h>#include<stdbool.h>//bool定义所需头文件 #define max 10000int arr[max+1];void Erat(int arr[max],int n){ int i,j; bool flag1=true; bool flag2=false; arr[1]=flag2; for(i=2;i<=n;i++) { arr[i]=flag1; } for(i=2;i<=n;i++) { if(arr[i]==flag1) { for(j=i*i;j<=n;j+=i) { arr[j]=flag2; } } }} int main(){ int i,sum,count,j,min,diff; Erat(arr,max); while(scanf("%d",&sum)&&sum) { count=0; j=0; min=max; for(i=0;i<sum/2;i++) { if(arr[i]&&arr[sum-i]) { if(i!=sum-i) { diff=sum-2*i; if(diff<min) { min=diff; j=i; } } } } printf("%d %d\n",j,sum-j); } return 0;}
oj评测显示:
问题主要是:判断素数花费时间过度
100分C语言代码:
#include<stdio.h>#include<math.h>int f(int n)//判断是否为素数{ int temp,i; if(n==3) return 1; temp=n%6; if(temp!=1&&temp!=5) return 0; temp=sqrt(n); for(i=3;i<=temp;i+=2) if(n%i==0) return 0; return 1;}int main()//只要测试这两个奇数都是素数,就得到了差距最小的两个素数,输出即可{ int m,p; while(scanf("%d",&m)!=EOF) { p=m/2; if(p%2==0) p--; while(1) { if(p<=2) break; if(!f(p)) { p=p-2; continue; } if(f(m-p)) { printf("%d %d\n",p,m-p); break; } p-=2; } } return 0;}
阅读全文
0 0
- hdu1262寻找素数对
- hdu1262-寻找素数对
- hdu1262 寻找素数对
- hdu1262寻找素数对
- hdu1262寻找素数对
- HDU1262 寻找素数对
- HDU1262-寻找素数对
- HDU1262:寻找素数对
- HDU1262——寻找素数对
- HDU1262:寻找素数对(简单数论)
- ACM-简单题之寻找素数对——hdu1262
- HDU1262 素数筛
- 寻找素数对
- 寻找素数对
- 寻找素数对
- hdoj1262 寻找素数对
- 寻找素数对
- HDU 寻找素数对
- 网络接口名称输出到文件的C++实现
- 虚拟机REHL7与SecureCRT 的文件传输
- 面试官培训-基础篇
- java迭代器(Itreator)
- learning之组合模式
- HDU1262-寻找素数对
- Java--异常处理机制
- mybatis 嵌套的结果集不能被安全的转为自定义ResultHandler 的解决办法
- codeforces 825 E Minimal Labels
- JAVA文件处理类
- 二叉树中两个节点的最近公共祖先节点
- gcc与g++的区别
- 用Unity做游戏,你需要深入了解一下IL2CPP
- 解决百度地图反复进出偶尔会崩溃的问题