题目链接:https://nanti.jisuanke.com/t/25985
就是把一个数拆成两个素数,两个素数的和加起来 等于这个数就可以
直接java模拟,从n/2开始向下找就行,枚举,学会Java大数类
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
int t;
Scanner cin=new Scanner(System.in);
t=cin.nextInt();
//System.out.println("t = "+t);
while(t > 0){
t--;
BigInteger a=cin.nextBigInteger();
BigInteger TWO=BigInteger.valueOf(2);
BigInteger i=a.divide(TWO);
while(true){
BigInteger j=a.subtract(i);
if(i.isProbablePrime(1) && j.isProbablePrime(1)){
System.out.println(i+" "+j);
break ;
}
i=i.subtract(BigInteger.ONE);
//System.out.println("lklklklklklklk "+i);
}
}
}
}