分析:
要將整數分解成兩部分,然後判斷分解出的兩個整數是否都為素數。如是,則輸出;否則,重新分解、判斷。
編寫壹個程序,在有限範圍內(例如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*/
}