哥德巴赫猜想

哥德巴赫猜想

链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1157

【题目描述】

哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。

【输入】

(无)

【输出】

分行输出:

例如:

6=3+3

8=3+5

...

(每个数只拆开一次,请保证第一个加数最小)

【输入样例】

(无)

【输出样例】

(无)
#include<bits/stdc++.h>
using namespace std;
int a[100];
void shai(){
    for(int i=2;i<=100;i++)
        for(int j=i+i;j<=100;j+=i){
            a[j]=1;
    }
}
void print(int m){
    for(int i=3;i<=m-3;i++){
        if(a[i])continue;
        else if(a[m-i]==0){
            if(i<m-i){
                printf("%d=%d+%d
",m,i,m-i);break;
            }
            else{
                printf("%d=%d+%d
",m,m-i,i);break;
            }
        }
    }
} 
int main(){
    
    shai();
    for(int i=6;i<=100;i+=2)print(i);
}
 
原文地址:https://www.cnblogs.com/EdSheeran/p/7326901.html