【 题目描述 】
验证100以内任何一个大于6的偶数均可表示为2个素数之和。编写函数验证这一猜想,要求给定一个6到100的偶数,输出偶数等于两个素数之和的所有情况。
【 输入 】
1个偶数。
【 输出 】
偶数=素数1+素数2。(要求:素数1<素数2)可能输出有多行。注意:每行的素数1从上到下的大小顺序是递增的。
【 样例输入 】
30
【 样例输出 】
30=7+23 30=11+19 30=13+17
#include <bits/stdc++.h>
using namespace std;
bool pd(int a,int b,int n){
bool flag=true;
for(int aa=2;aa<a;aa++){
if(a%aa==0) flag=false;
}for(int bb=2;bb<b;bb++){
if(b%bb==0) flag=false;
}
if(flag&&a+b==n) return true;
else return false;
}
int main(){
int n;
cin>>n;
for(int i=2;i<n/2;i++){
for(int o=2;o<n;o++){
if(pd(i,o,n)){
cout<<n<<"="<<i<<"+"<<o<<endl;
}
}
}
return 0;
}