c++写一个函数验证哥德巴赫猜想:一个不小于6的偶数可以表示为两个素数之和。
c++写一个函数验证哥德巴赫猜想:一个不小于6的偶数可以表示为两个素数之和。
·
如:6=3+3,8=3+5,10=3+7... 在主函数中输入一个不小于6的偶数n,然后调用函数goldbach,在goldbach函数中再调用prime函数,prime函数的作用是判别一个数是否为素数。在goldbach函数中输出以下形式的结果: 34=3+31;
#include <iostream>
#include <cmath>
using namespace std;
bool prime (int a)
{
int b=0;
for(int i=2;i<sqrt(a);i++)
{
if(a%i==0)
{
b++;
}
}
if (b==0)
{
return true;
}
else
return false;
}
void goldbach(int n)
{
for(int i=2;i<n;i++)
{
for(int j=2;j<n;j++)
{
if (i+j==n&&prime(i)==1&&prime(j)==1)
{
cout<<n<<"="<<i<<"+"<<j<<endl;
return ;
}
else
;
}
}
}
int main()
{
int num;
cin>>num;
goldbach(num);
}
更多推荐
所有评论(0)