[백준] 6588번 골드바흐의 추측 - Java, 자바

Kim Ji Eun·2022년 1월 11일
0

난이도

실버 1

문제

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

코드


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

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

        boolean prime[] = new boolean[1000001];
        prime[0] = prime[1] = true; // 소수는 false
        for (int i = 2; i < prime.length; i++) {
            if (!prime[i]) {
                for (int j = i + i; j < prime.length; j += i) {
                    prime[j] = true;
                }
            }

        }

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

        while (n != 0) {
            boolean isProve = false;
            for (int i = 2; i <= n / 2; i++) {
                if (!prime[i] && !prime[n - i]) {
                    System.out.println(n + " = " + i + " + " + (n - i));
                    isProve = true;
                    break;
                }
            }

            if (!isProve) {
                System.out.println("Goldbach's conjecture is wrong.");
            }

            n = Integer.parseInt(br.readLine());

        }

    }
}

풀이

17103번 골드바흐 파티션 문제와 유사하다. 그 문제를 풀면 이 문제도 쉽게 풀 수 있다!

profile
Back-End Developer

0개의 댓글