【Java】【P1304 哥德巴赫猜想】

import java.util.Scanner;
public class Main{
    
    
	static boolean isPrime(int a) {
    
    
		if(a==2||a==3||a==5||a==7) {
    
    
			return true;
		}else {
    
    
			for(int i=2;i*i<=a;i++) {
    
    
				if(a%i==0) {
    
    
					return false;
				}
			}
			return true;
		}
	}
	static int first_num(int a) {
    
    
		for(int i=2;i<=a/2;i++) {
    
    
			if(isPrime(i)&&isPrime(a-i)) {
    
    
				return i;
			}
		}
		return -1;
	}
	public static void main(String[] args){
    
    
		Scanner in=new Scanner(System.in);
		int N=in.nextInt();
		int cnt=N/2-1;
		int[]num=new int[cnt];
		for(int i=0,j=4;i<cnt;i++,j+=2) {
    
    
			num[i]=j;
			System.out.println(num[i]+"="+first_num(num[i])+"+"+(num[i]-first_num(num[i])));
		}
		
	}
}

猜你喜欢

转载自blog.csdn.net/m0_57937908/article/details/121843002