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