본문 바로가기
알고리즘/백준

백준 9020번 - 골드바흐의 추측 (Java 8)

by latissimus 2022. 2. 24.

https://www.acmicpc.net/problem/9020

 

9020번: 골드바흐의 추측

1보다 큰 자연수 중에서  1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아

www.acmicpc.net

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        boolean[] prime = new boolean[10001];

        prime[0] = prime[1] = true;
        for (int i = 2; i <= Math.sqrt(prime.length); i++) {
            if (prime[i]) {
                continue;
            }
            for (int j = i * i; j < prime.length; j += i) {
                prime[j] = true;
            }
        }

        int numOfCase = Integer.parseInt(br.readLine());

        for(int i=0; i<numOfCase; i++){
            int n =Integer.parseInt(br.readLine());
            int x = n/2;
            int y = n/2;

            for(int j=1; j<=n/2+1; j++){
                if(!prime[x] && !prime[y]){
                    sb.append(x).append(" ").append(y).append("\n");
                    break;
                } else{
                    x--;
                    y++;
                }
            }
        }
            System.out.print(sb);
    }
}

댓글