哥德巴赫猜想:任何大于6的偶数可以表示为两个素数之和
判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,
如果都不能被整除,那么 m 就是一个素数。
1不是质数
下面是源代码:
package 课本习题;
public class Test_2_11_哥德巴赫猜想 {
//哥德巴赫猜想:任何大于6的偶数可以表示为两个素数之和
/*判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,
如果都不能被整除,那么 m 就是一个素数。*/
//1不是质数
public static void main(String[] args) {
// TODO 自动生成的方法存根
int n=10;
if(n%2==0&&n>6) {
first:for(int i=3;i<n;i++) {
int j=n-i;
if(i>j)//避免数据重复出现,如3,7与7,3
break;
for(int k=2;k<=i-1;k++) {//判断i是否为素数,i除以2~i-1之间的每一个整数
if(i%k==0) {//都不能被整除,那么 i就是一个素数,否则跳转至first:,开始下一轮循环
continue first;
}
}
for(int t=2;t<=j-1;t++) {//同上
if(j%t==0)
continue first;
}
if(i!=1&&j!=1)//排除1的情况
System.out.println(i+" "+j);
}
}
else
System.out.println("数据错误!该数不是偶数或小于等于6。");
}
}