1135 - 歌德巴赫猜想
题目描述
任一个大于等于 44 的偶数都可以拆分为两个素数之和。
从键盘读入一个整数 �n,请将小于等于 n 的偶数拆分为 2 个质数之和,列出所有方案。
输入
一个整数n (4≤n≤200);
输出
将小于等于 n 的偶数拆分为 2 个质数之和,列出所有方案,输出格式请参考样例输出。
样例
输入
复制
10
输出
复制
4=2+2 6=3+3 8=3+5 10=3+7 10=5+5
#include<bits/stdc++.h>
using namespace std;
bool shusu(int n)
{
bool r=true;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
r=false;
break;
}
}
if(n<=1)
{
r=false;
}
return r;
}
void shuchu(int n)
{
for(int i=2;i<=n/2;i++)
{
if(shusu(i)==true&&shusu(n-i)==true)
{
cout<<n<<"="<<i<<"+"<<n-i<<endl;
}
}
}
int main()
{
int n;
cin>>n;
for(int i=4;i<=n;i=i+2)
{
shuchu(i);
}
}