验证哥德巴赫猜想:任何⼀个⼤于 6 的偶数,都能分解成两个质数的和。要求输⼊⼀个整数,输出这个数能被分解成哪两个质数的和。eg : 1414=3+1114=7+7
public class TestGoldbach{
public static void main(String[] args){
java.util.Scanner s = new java.util.Scanner(System.in); int n = s.nextInt();
//输⼊⼤于 6 的偶数 while (n<6 || n%2!=0) {
System.out.println(\"Error!\"); n = s.nextInt(); }
for(int a = 3 ; a <= n/2 ; a+=2){ int b = n-a;
if (isPrime(a) && isPrime(b)){
System.out.println(n+\"=\"+a+\"+\"+b); } } }
//判断m是不是质数
static boolean isPrime(int m){ double d = Math.sqrt(m);
for(int i =3 ; i <= d ; i+=2){ if (m % i == 0) return false; }
return true; } }
因篇幅问题不能全部显示,请点此查看更多更全内容