时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。
【输入】
(无)
【输出】
分行输出:
例如:
6=3+3
8=3+5
...
(每个数只拆开一次,请保证第一个加数最小)
【输入样例】
(无)
【输出样例】
(无)
【解题代码】
#include <bits/stdc++.h>
using namespace std;
int ss(int a){ //判断素数
for(int i=2;i<=sqrt(a);i++){
if(a%i==0){ //判断是否有因数
return 0;
}
}
return a;
}
void gdbh(int n){ //将一个数表示成两个素数之和
for(int i=2;i<=n/2;i++){
if(ss(i)==i && ss(n-i)==n-i){
cout<<n<<"="<<i<<"+"<<n-i<<endl;
return;
}
}
}
int main() {
for(int i=6;i<=100;i++){
if(i%2==0){ //判断偶数
gdbh(i);
}
}
return 0;
}