验证哥德巴赫猜想任何一个大于6的偶数均可以表示为两个素数之和要求从键盘输入一个大于6的偶数

匿名用户
2013-10-29
展开全部
验证哥德巴赫猜想
验证哥德巴赫猜想:任一充分大的偶数,可以用两个素数之和表示,例如:
4 = 2 + 2
6 = 3 + 3
..
9 8 = 1 9 + 7 9

分析:我们先不考虑怎样判断一个数是否为素数,而从整体上对这个问题进行考虑,可以这样做:读入一个偶数n,将它分成p和q,使n = p + q。怎样分呢?可以令p从2开始,每次加1,而令q = n - p,如果p、q均为素数,则正为所求,否则令p = p + q再试。

参考程序:

#include <math.h>
#include <stdio.h>
main( )
{
long int j,n,p,q,flagp,flagq;
printf("please input n :\n");
scanf("%ld",&n );
if (((n%2)!=0)||(n<=4))
printf("input data error!\n");
else
{
p = 1 ;
do {
p = p + 1 ;
q = n - p ;
flagp = 1 ;
for(j=2;j<=(int)(sqrt(p));j++) /*判断p是否为素数*/
{
if ((p%j)==0)
{
flagp = 0 ;
break; /*不是素数,退出循环*/
}
}
flagq=1 ;
for(j=2;j<=(int)(sqrt(q));j++) /*判断q是否为素数*/

{
if ((q%j)==0)
{
flagq = 0 ;
break ; /*不是素数,退出循环*/
}
}
} while(flagp*flagq==0);
printf("%d = %d + %d \n",n,p,q) ;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-29
展开全部
你也太牛了,哥德巴赫猜想至今都还没有人能够证明了.这可是数学界的难题啊。如果真的有谁可以证明哥德巴赫猜想,拿个菲尔兹奖应该没问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-29
展开全部
然后呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式