문제 풀이 및 개발 공간

[백준] 6588번 골드바흐의 추측 (silver 1 본문

백준공부/java

[백준] 6588번 골드바흐의 추측 (silver 1

gomduri43 2024. 2. 27. 15:06

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[]args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));

        int[] num=new int[1000001];
        for(int i=2; i<=1000000; i++){
            if(num[i]==1){
                continue;
            }
            for(int j=i+i; j<=1000000; j+=i){
                num[j]=1;
            }
        }

        while(true){
            int n=Integer.valueOf(br.readLine());
            boolean find=true;
            if(n==0){
                break;
            }

            for(int i=3; i<=n; i+=2){
                if(num[i]==0 && num[n-i]==0){
                    bw.write(n+" = "+i+" + "+(n-i)+"\n");
                    find=false;
                    break;
                }
            }

            if(find){
                bw.write("Goldbach's conjecture is wrong.\n");
            }
        }
        bw.flush();
    }
}