
소스코드:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
final int maxSize = 1000000;
// 소수 체크용 배열 선언
boolean[] prime = new boolean[maxSize + 1];
for (int i = 0; i <= maxSize; i++) {
prime[i] = true; // 전부 소수라고 가정
}
prime[1] = false; // 1은 제외
// 에라토스테네스의 체
for (int i = 2; i * i <= maxSize; i++) {
if (prime[i]) {
for (int q = i * i; q <= maxSize; q += i) {
prime[q] = false;
}
}
}
Scanner sc = new Scanner(System.in);
while (true) {
int N = sc.nextInt();
if (N == 0) {
sc.close();
break;
}
boolean flag = false;
for (int i = 3; i <= N; i += 2) {
if (prime[i] && prime[N - i]) {
System.out.println(N + " = " + i + " + " + (N - i));
flag = true;
break;
}
}
if (!flag) {
System.out.println("Goldbach's conjecture is wrong.");
}
}
}
}
글의 내용 중 잘못된 점이나 수정이 필요한 부분, 혹은 궁금한 사항이 있다면 언제든 댓글로 남겨주시면 감사하겠습니다.
여러분의 피드백은 더 나은 글을 작성하는 데 큰 도움이 됩니다. 감사합니다.
'알고리즘 > 백준' 카테고리의 다른 글
| [JAVA-자바] 2309번: 일곱 난쟁이 (0) | 2024.12.20 |
|---|---|
| [JAVA-자바] 17425번: 약수의 합 (0) | 2024.12.19 |
| [JAVA-자바] 17427번: 약수의 합 2 (0) | 2024.12.17 |
| [JAVA-자바] 1929번: 소수 구하기 (0) | 2024.12.17 |
| [JAVA-자바] 4375번: 1 (0) | 2024.12.17 |