三、哥德巴赫猜想是说任何一个大于2的偶数都能表示为两个素数之和。

来源:百度知道 编辑:UC知道 时间:2024/06/21 20:35:29
验证1~100内哥德巴赫猜想的正确性,也就是近似证明哥德巴赫猜想。

现给出以下c++程序
#include<iostream>
#include<math.h>

using namespace std;

//判断一个数是不是素数
bool find(int a)
{

for(int i = 2;i <= sqrt(float(a));i++)
{
if(a%i == 0)
{
return false;
}

}
return true;
}

int main()
{
//先算出所有100以内的素数,并放入一个数组
int vec[50];
int n = 0;
for(int j = 2;j <= 100;j++)
{
if(find(j)){
vec[n] = j;
n++;
}

}
//n为100以内素数的个数

bool a;

for(int j = 0;j<n;j++)
{
printf("%d\n",vec[j]);
}
int x;
for(int i = 2;i <= 50;i++)
{
x = 2*i;
a = false;
for(int j = 0;vec[j] <= i;j++)
{
if(!find(x-vec[j]))
{

}
else
{
a = true;
printf("%d = %d + %d\n",x,vec[j],x-vec[j]);