习题 4.7 写一个函数验证哥德巴赫猜想:一个不小于6的偶数可以表示为两个素数之和,如6=3+3,8=3+5,10=3+7···在主函数中输入一个不小于6的偶数n,然后调用函数gobaha函数中再调用prime函数,prime函数的作用是判别一个数是否为素数。在gobaha函数中输出以下形式的结果:34=3+31。
代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
void gotbaha(int);
int n;
cout << "请输入n(不小于6且是偶数):" << endl;
cin >> n;
if (n % 2 == 0 && n >= 6)
{
gotbaha(n);
}
else
{
cout << "请输入不小于6且是偶数的整数!" << endl;
}
return 0;
}
void gotbaha(int n_)
{
int prime(int);
int i;
for (i = 2; i < n_; ++i)
{
if (prime(i))
{
if (prime(n_ - i))
{
cout << n_ << "=" << i << "+" << n_ - i << endl;
break;
}
}
}
}
int prime(int x)
{
int i;
for (i = 2; i < x; i++)
{
if (x % i == 0)
{
return 0;
}
}
return 1;
}