您的位置:首页 > 其它

验证哥德巴赫猜想

2017-08-07 10:00 330 查看
哥德巴赫猜想

哥德巴赫猜想是数论中存在最久的未解问题之一。这个猜想最早出现在1742年,哥德巴赫猜想可以陈述为:“任一大于2的偶数,都可表示成两个素数之和。”

1、将一个偶数分成两数之和;

2、判断两数是否为素数。

/*验证Goldbach猜想*/

#include <stdio.h>

int main ()
{
printf ("Function : Verify the Goldbach Conjecture.\n");

int a, b, i, j, num;

printf ("Please input a number:\n");
scanf ("%d",&num);

if( num <= 2 || num % 2 != 0)
printf ("Error:Number inputed > 2 && Even number\n");
else
{
for (i = 3;i <= num; i++)
{
j = num - i;       //分成两数之和
a = primenum (i);  //判断是否为素数
b = primenum (j);

if (a && b)        //都是素数则满足哥德巴赫猜想
printf ("Goldbach Right! %d = %d + %d\n",num,i,j);
}

return 0;
}
}

//判断是否为素数,是返回1,不是返回0
primenum ( int m)
{
int k, n;
k = m / 2;

for (n = 2;n <= k; n++)
{
if (m % n == 0)
{
return 0;
break;
}
else if (n != k)
continue;

return 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: