给定一个正整数,
编写程序计算有多少对质数的和等于输入的这个正整数,
并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。
(共有两对质数的和为10,分别为(5,5),(3,7)) //2,3,5,7
public class bc4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int num = sc.nextInt();
//调用判断质数的方法
int count = 0;
for (int i = 2; i <= num / 2; i++) {
//如果是质数就加入到集合中
if (pdzs(i) && pdzs(num - i)) {
System.out.println("(" + i + "," + (num - i) + ")");
count++;
}
}
System.out.println("有" + count + "对质数相加等于" + num);
}
private static boolean pdzs(int num) {//判断质数的函数
//只能被一和它本身整除
for (int j = 2; j < num; j++) {
if (num % j == 0) {
//他不是质数
return false;
}
}
return true;
}
}