哥德巴赫猜想验证
自检是否是质数会tle(1TLE && 2TLE)
手写自底向上生成质数表
3 AC
#include<stdio.h>
int isp[1000010];
int p[90000];
int main(){
int i,j;
isp[1]=0;
for(i=2;i<=1000000;i++)isp[i]=-1;
for(i=2;i<=1000000;i++){
if(isp[i]==-1){
isp[i]=1;
for(j=2;j*i<=1000000;j++)isp[i*j]=0;
}
}
int q=0;
for(i=1;i<=1000000;i++)if(isp[i])p[++q]=i;
int n;
while(scanf("%d",&n)!=EOF&&n){
for(i=1;i<=q;i++)if(isp[n-p[i]])break;
printf("%d = %d + %d\n",n,p[i],n-p[i]);
}
return 0;
}
本文介绍了一种通过自底向上生成质数表的方法来验证哥德巴赫猜想的算法实现。该方法首先构建了一个包含100万以内质数的表,并利用此表找出每个偶数可以如何被表示为两个质数之和。

被折叠的 条评论
为什么被折叠?



