【题目描述】
哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。
【输入】
(无)
【输出】
分行输出:
例如:
6=3+3
8=3+5
...
(每个数只拆开一次,请保证第一个加数最小)
【输入样例】
(无)
【输出样例】
(无)
# include <iostream>
# include <iomanip>
# include <algorithm>
# include <cmath>
using namespace std;
int gd(int n){
for(int i=2;i<=n-1;i++){//循环判断,看看传过来的数是否是个素数,是的话返回1,不是返回0
if(n%i==0){
return 0;
}
}
return 1;
}
int main(){
for(int i=6;i<=100;i+=2){//循环从6到100的偶数
for(int j=2;j<i;j++){//循环从2开始的所有数
if(gd(j) && gd(i-j)){//利用gd函数判断 这两个数是否是素数,如果都是则都是正确
cout<<i<<"="<<j<<"+"<<i-j<<endl;//输出i=j+(i-j)
break; //结束循环
}
}
}
}