728x90
https://www.acmicpc.net/problem/6588
2의 곱셈부터 해서
소수가 아닌 수를 체크해두어 판단한다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
boolean[] arr = new boolean[1000001];
for (int j = 2; j < 1000001; j++) {
if (arr[j])
continue;
for (int i = j * 2; i < 1000001; i += j) {
arr[i] = true;
}
}
while (true) {
int num = Integer.parseInt(br.readLine());
if (num == 0)
break;
int x = 0;
int y = 0;
for (int i = 3; i < num - 1; i += 2) {
if (i % 2 != 0 && (num - i) % 2 != 0) {
if (!arr[i] && !arr[num - i]) {
x = i;
y = num - i;
break;
}
}
}
if (x == 0 && y == 0) {
sb.append("Goldbach's conjecture is wrong.").append("\n");
} else {
sb.append(num).append(" = ").append(x).append(" + ").append(y).append("\n");
}
}
System.out.println(sb);
}
}
'Java' 카테고리의 다른 글
[백준 2636] 치즈 (JAVA) (0) | 2023.03.28 |
---|---|
[백준 1826] 연료 채우기 (JAVA) (0) | 2023.03.28 |
[백준 15711] 환상의 짝꿍 (JAVA) (0) | 2023.03.24 |
[백준 2485] 가로수 (JAVA) (0) | 2023.03.23 |
[백준 2206] 벽 부수고 이동하기 (JAVA) (0) | 2023.03.23 |