哥德巴赫猜想的计算机验证,哥德巴赫猜想的计算机程序验证

编程入门 行业动态 更新时间:2024-10-12 08:21:12

<a href=https://www.elefans.com/category/jswz/34/1758800.html style=哥德巴赫猜想的计算机验证,哥德巴赫猜想的计算机程序验证"/>

哥德巴赫猜想的计算机验证,哥德巴赫猜想的计算机程序验证

/*本程序用来验证哥德巴赫猜想--假如你的计算机足够强大的话。。。。

哥德巴赫猜想的一种命题加强是一个大于5的偶数可以表示成两个素数的和,本程序就是基于这一增强型命题来编写的,具体做法是输入一个上限值a1,

然后由计算机产生从6至a1之间的偶数表示成两个素数之和的效果,如果表示不成功即系统会发出警告,有兴趣的同学可以试一试。

练洋-------2012/12/25-----*/

#include

#include

#include

#include

void main()

{

int a1,count=0,i,j,state,*p,*p1,b1,b2,k;

printf("please enter a1:");//输入一个上限值

scanf("%d",&a1);

for(i=2;i<=a1;i++)//找出上限值内的所有素数

{

state=0;

for(j=2;j<=(int)sqrt(i);j++)

if(i%j==0){state=1;break;}

if(state==0)count++;

}

p=(int*)calloc(count,sizeof(int));

p1=p;

for(i=2;i<=a1;i++)

{

state=0;

for(j=2;j<=(int)sqrt(i);j++)

if(i%j==0){state=1;break;}

if(state==0)*(p++)=i;

}//pass!!!!

//for(i=0;i

for(i=6;i<=a1;i+=2)//进行组合

{

count=0;

for(j=0;;j++){if(*(p1+j)>(i/2)&&count==0){b1=j-1;count=1;}if(*(p1+j)>i){b2=j-1;break;}}

count=0;

//printf("b1=%d,b2=%d ",b1,b2);

for(j=0;j<=b1;j++)

for(k=b1;k<=b2;k++)

{//printf("%d?%d+%d ",i,*(p1+j),*(p1+k));getchar();

if(*(p1+j)+*(p1+k)==i){printf("number %d\t:.....%d=%d+%d\n",i,i,*(p1+j),*(p1

+k));count=1;}

}

if(count==0)printf("error!!! not exist...\a\a\a\a\a\a\a\a\n\n");//如不满足,即发出警告。。当然是没找到这种特例的

}

free(p1);

}

更多推荐

哥德巴赫猜想的计算机验证,哥德巴赫猜想的计算机程序验证

本文发布于:2024-03-23 15:01:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1739535.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:哥德巴赫   计算机   程序

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!