当前位置: 代码迷 >> C语言 >> 一个偶数如何表示成两个素数之和
  详细解决方案

一个偶数如何表示成两个素数之和

热度:494   发布时间:2007-01-14 10:24:35.0
一个偶数如何表示成两个素数之和
如题,将一下算法也可以!
搜索更多相关的解决方案: 素数  偶数  之和  算法  

----------------解决方案--------------------------------------------------------

佩服,兄弟,这个是哥德巴赫猜想,世界上没人证明的出来,更不用说算法了……
目前最好的成果是,我国数学家陈景润证明的2+1,可以表示成一个素数与两个素数积的和,也就是a+b*c


----------------解决方案--------------------------------------------------------
哥德巴赫猜想:

任意一个整数(大于2)都可以写成2个素数的和

本题是偶数

可以说范围小了

可是还是不能解
----------------解决方案--------------------------------------------------------
书上有例题撒!~~~~~~~~~~~~~``
----------------解决方案--------------------------------------------------------
这个题目跟歌德巴赫猜想还有点差距,猜想是对任何一个偶数都成立,而这个题目是对给定的一个偶数成立。这就是早期的穷举证明,虽然这样不一定可靠。下面是一个简单的例子,能计算32768以内的正偶数:
//一个偶数分解为两个素数之和
#include <stdio.h>
#include <math.h>
int judge_prime(int x)
{
int i=0;
for(i=2;i<=sqrt(x);i++)
if(x%i==0) return 0;
return 1;
}
int main()
{
int i,x=-1;
while(x<2||x%2)
{
printf("输入正偶数x:");
scanf("%d",&x);
}
for(i=2;i<x/2;i++)
{
if(judge_prime(i)&&judge_prime(x-i))
printf("x=%d+%d\n",i,x-i);
}
return 0;
}
----------------解决方案--------------------------------------------------------
这个目前只能在一定范围内验证,没办法证明,除非你想出名呵
----------------解决方案--------------------------------------------------------
我们现在只能用计算机验证,而不能证明.
----------------解决方案--------------------------------------------------------
  相关解决方案