您的位置:首页 > 其它

(1~100)范围内证明哥德巴赫猜想

2013-08-04 13:13 267 查看
哥德巴赫猜想:任何一个大于2的偶数都能表示称为两个素数之和。

一个数m可以表示为:m=1+(m-1),m=2+(m-2),m=3+(m-3),.......m=(m/2)+(m/2),m/2后面会开始重复前面的。

程序见下:

public class Guess {
/**
* Testify_Guess(int low, int high)在low~high范围内判断哥德巴赫猜想的正确性。
* */
public static boolean Testify_Guess(int low, int high){
boolean biaozhi=true;
for(int i=low;i<high;i++){
if(i%2==0&&i>2){
if(!isGedebahe(i)){
biaozhi=false;
break;
}
}
}
return biaozhi;
}
/**
* isGedebahe(int a)判断a是否能写成两个素数之和
* */
public static boolean isGedebahe(int a){
boolean flag=false;
for(int i=1;i<a/2;i++){
if(isPrime(i)&&isPrime(a-i)){
flag=true;
System.out.println("a="+i+"+"+(a-i));
break;
}
}
return flag;
}

/**
* isPrime(int num)判断素数
* */
public static boolean isPrime(int num){
boolean flag=true;
if(num==1){
//1是素数。
flag=true;
}
else{
for(int i=2;i<num;i++){
if(num%i==0){
flag=false;
break;
}
}
}
return flag;
}
public static void main(String[] args) {
System.out.println("现在在1~100范围内,来证明哥德巴赫猜想:");
if(Testify_Guess(1,100)){
System.out.println("哥德巴赫猜想是正确的!");
}
else{
System.out.println("哥德巴赫猜想是错误的!");
}

}

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