读入整数n,对于大于等于6的偶数,分解为两个素数之和a+b,且符合a<=b

2025-04-15 04:47:55
推荐回答(1个)
回答1:

import java.util.ArrayList;
import java.util.Scanner;

public class KnowTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList prime = new ArrayList();
System.out.println("输入一个大于6的偶数:");
int n = sc.nextInt();
int j = 0;
System.out.println("小于"+n+"的素数有:");
for(int i = 2;i < n;++i)
if(isPrime(i)){
prime.add(i);
j++;
System.out.print(i+" ");
}
System.out.println();
for(int i = 0;i < j;++i)
for(int k = 0;k < j;++k){
if(prime.get(i)+prime.get(k)==n&&prime.get(i)<=prime.get(k))
System.out.println(n+"可以分解为:"+prime.get(i)+"+"+prime.get(k));
}

}
public static boolean isPrime(int x){
int a = (int)Math.sqrt(x)+1;
for(int i = 2; i < a;++i)
if(x%i == 0)
return false;
return true;
}

}