標題:哥德巴赫分解
哥德巴赫猜想認為:不小于4的偶數都可以表示為兩個素數的和,
你不需要去證明這個定理,但可以通過計算機對有限數量的偶數進行分解,驗證是否可行,
實際上,一般一個偶數會有多種不同的分解方案,我們關心包含較小素數的那個方案,
對于給定數值范圍,我們想知道這些包含較小素數方案中最大的素數是多少,
比如,100以內,這個數是19,它由98的分解貢獻,
你需要求的是10000以內,這個數是多少?
注意,需要提交的是一個整數,不要填寫任何多余的內容(比如,說明性的文字)
#include <iostream>
#include <String.h>
using namespace std;
bool SUSHU(int j) {
for(int i=2; i<j; i++) {
if(j%i==0) return false;
}
return true;
}
int main() {
int A[10000];
for(int i=9998; i>3; i-=2) {
int A[10000]= {0};
int k=-1;
for(int j=4; j<=i; j++) {
if(SUSHU(j)) {
A[++k]=j;
}
}
for(int ii=0; ii<=k; ii++) {
for(int jj=k; jj>0; jj--) {
if(A[ii]+A[jj]==i && ii<=jj) {
for(int kk=0;kk<=k;kk++){
cout<<A[kk]<<" ";
}
cout<<A[jj]<<endl;
return 0;
}
}
}
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/261722.html
標籤:其他
下一篇:資料分析模型 第十一章
