哥德巴赫猜想
链接: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\n",m,i,m-i);break; } else{ printf("%d=%d+%d\n",m,m-i,i);break; } } } } int main(){ shai(); for(int i=6;i<=100;i+=2)print(i); }