백준

백준 6588 - Java

으엉어엉 2024. 9. 21. 13:33
728x90

import java.util.Scanner;

public class GoldBach {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        final int MAX = 1000000;
        boolean[] isPrime = new boolean[MAX + 1];

        for (int i = 2; i <= MAX; i++) {
            isPrime[i] = true;
        }

        for (int i = 2; i * i <= MAX; i++) {
            if (isPrime[i]) {
                for (int j = i * i; j <= MAX; j += i) {
                    isPrime[j] = false;
                }
            }
        }

        while (true) {
            int n = sc.nextInt();
            if (n == 0) {
                break;
            }

            boolean found = false;
            for (int i = 3; i <= n / 2; i += 2) {
                if (isPrime[i] && isPrime[n - i]) {
                    System.out.println(n + " = " + i + " + " + (n - i));
                    found = true;
                    break;
                }
            }

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

'백준' 카테고리의 다른 글

백준 17087 - Java  (0) 2024.09.25
백준 9613 - Java  (1) 2024.09.25
백준 2609 - Java  (0) 2024.09.21
백준 11655 - Java  (1) 2024.09.21
백준 10824 - Java  (0) 2024.09.21