输入两个大于6的正偶数a和b(a<b),输出二者之间所有数的哥德巴赫猜想的验证过程,每个数的验证过程只输出第一个算式(第1个加数最小)即可。
[科普] 哥德巴赫猜想是数论中存在最久的未解问题之一。这个猜想最早出现在1742年普鲁士人克里斯蒂安•哥德巴赫与瑞士数学家莱昂哈德•欧拉的通信中。用现代的数学语言,哥德巴赫猜想可以表述为:“任何一个充分大的偶数(>6)都可以表示成两个奇素数的和的形式”。
输入样例:
10 16
输出样例:
10=3+7
12=5+7
14=3+11
16=3+13
#include<iostream>
#include<cmath>
using namespace std;
int prime(int n) {
int flag=0;
if(n<=1) {
} else if(n==2) {
flag=1;
} else {
int item=sqrt(n)+1;
int i;
for(i=2; i<=item; i++)
if(n%i==0)
break;
if(i>item) {
flag=1;
}
}
return flag;
}
int main() {
int m,n;
cin>>m>>n;
for(int i=m; i<=n; i+=2) {
int a=3;
cout<<i<<"=";
int flag=0;
while(flag!=1) {
if(((i-a)%2!=0)&&prime(a)==1&&prime(i-a)==1) {
cout<<a<<"+"<<i-a<<endl;
flag=1;
} else {
a+=2;
}
}
}
return 0;
}