728x90
반응형
https://www.acmicpc.net/problem/6588
에라토스테네스의 체 알고리즘으로 소수를 판별해놓고,
반복문으로 i를 2~100만까지 증가시키면서
i가 소수이고, n-i가 소수인 경우에 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class P6588 {
static boolean[] prime = new boolean[1000001];
public static void main(String[] args) throws IOException {
for (int i = 2; i < 1000001; i++) {
prime[i] = true;
}
for (int i = 2; i < 1000001; i++) {
if (prime[i] == true) {
for (int j = i * 2; j < 1000001; j += i) {
prime[j] = false;
}
}
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n;
while ((n = Integer.parseInt(br.readLine())) != 0) {
for (int i = 0; i < n; i++) {
if (prime[i] == true && prime[n - i] == true) {
System.out.println(n + " = " + i + " + " + (n - i));
break;
}
}
}
}
}
728x90
반응형
'코딩 > 백준-자바' 카테고리의 다른 글
[자바] 백준 1644번: 소수의 연속합 (1) | 2023.02.01 |
---|---|
[자바] 백준 1837번: 암호제작 (0) | 2023.01.31 |
[자바] 백준 11653: 소인수분해 (0) | 2023.01.30 |
[자바] 1735번: 분수 합 (0) | 2023.01.30 |
[자바] 백준 2252번: 줄 세우기 (0) | 2023.01.29 |
댓글