判断一个整数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。"); } }