실버 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번 골드바흐 파티션 문제와 유사하다. 그 문제를 풀면 이 문제도 쉽게 풀 수 있다!