如題:
哥德巴赫猜想認為:不小于4的偶數都可以表示為兩個素數的和,
你不需要去證明這個定理,但可以通過計算機對有限數量的偶數進行分解,驗證是否可行,
實際上,一般一個偶數會有多種不同的分解方案,我們關心包含較小素數的那個方案,
對于給定數值范圍,我們想知道這些包含較小素數方案中最大的素數是多少,
比如,100以內,這個數是19,它由98的分解貢獻,
你需要求的是10000以內,這個數是多少?
注意,需要提交的是一個整數,不要填寫任何多余的內容(比如,說明性的文字)
我先把素數統計下來,然后再對比,
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j;
int flag;
int p[10000];
for(i=3;i<=10000;i++)//素數判斷,制作素數表
{
flag=1;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag)
{
p[i] = 1;
}
}
int res=0;
int x;
for(int i=10000; i>=0; i-=2)
{
for(int j=2; j<=i/2; j++)
{
if(p[j]&&p[i-j])
{
res=max(res,j);
x=i;
break;
}
}
}
printf("%d\n",res);
}

答案173
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/261728.html
標籤:其他
上一篇:計算機網路自學指南,簡直太全了!
下一篇:CSAPP(一)資訊的表示與處理
