验证巴赫猜想:任何一个大于6的偶数,都能分解成两个质数的和。要求输入一个整数,输出这个数能分解成哪两个质数的和。例如:14
14=3+11
14=7+7
import java.util.Scanner;
public class TextDemo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//int num=10;//1+9 2+8 3+7 4+6
if(num>6&&num%2==0){
for(int i=2;i<=num/2;i++){
//判断两个数是否是质数
if(isPrime(i)&&isPrime(num-i)){
System.out.println(num+"="+i+"+"+(num-i));
}
}
}else{
System.out.println("重新输入!");
}
}
//定义方法————判断一个整数是否是质数
//两个明确---方法返回值类型 boolean 参数列表 int m
public static boolean isPrime(int m) {
//非正常情况---小于等于1
if (m <= 1) {
return false;
}
//通过for循环实现
for (int i=2; i<= Math.sqrt(m);i++){
if(m%i==0){
//可以被整除不是质数
return false;
}
}
//是质数
return true;
}
}
结果