當前位置:編程學習大全網 - 編程軟體 - 用c語言驗證哥德巴赫猜想,能用到調用函數,簡單些的。結果是那種輸入壹個偶數,輸出兩個素數。

用c語言驗證哥德巴赫猜想,能用到調用函數,簡單些的。結果是那種輸入壹個偶數,輸出兩個素數。

德國數學家哥德巴赫(Goldbach)在1725年寫給歐拉(Euler)的信中提出了以下猜想:任何大於2的偶數,均可表示為兩個素數之和(俗稱為1+1)。近三個世紀了,這壹猜想既未被證明,也未被推翻(即未找到反例)。

分析:

要將整數分解成兩部分,然後判斷分解出的兩個整數是否都為素數。如是,則輸出;否則,重新分解、判斷。

編寫壹個程序,在有限範圍內(例如4~2000)驗證哥德巴赫猜想成立。請註意:這只是有限的驗證,不能作為對哥德巴赫猜想的證明。

程序如下:

#include "stdio.h"

#include "math.h"

main( )

{ int fflag(int i);

int i,n;

for(i=4; i<=2000; i+=2)

{for(n=2;n if(fflag(n)) /*分別判斷兩個整數是否均為素數*/

if(fflag(i-n))

{printf("%d=%d+%d\n",i,n,i-n); /*如均為素數則輸出*/

break;

}

if(n==i)printf("error %d\n",i);

}

}

int fflag(int i) /*判斷整數是否為素數*/

{ int j;

if(i<=1) return(0);

if(i==1) return(1);

if(!(i%2)) return(0); /*if no, return 0*/

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

if(!(i%j)) return(0);

return(1); /*if yes, return 1*/

}

  • 上一篇:蜘蛛機器人制作方法
  • 下一篇:機器人編程動作指令的各部分的作用分別是什麽
  • copyright 2024編程學習大全網