반응형
https://www.acmicpc.net/problem/9020
9020번: 골드바흐의 추측
1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아
www.acmicpc.net
💡IDEA
수학의 소수를 사용하는 문제이다.
2022.07.21 - [Algorithm/BOJ] - [BOJ][python] 6588. 골드바흐의 추측
[BOJ][python] 6588. 골드바흐의 추측
https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을
im-so-so.tistory.com
6588번 문제와 거의 유사하지만, 이 문제에서는 골드바흐 파티션을 이루는 두 소수의 차가 가장 작은 것을 출력해야 한다.
먼저 소수인 수를 구하는 에라토스테네스의 체 방법을 사용하여 prime 배열을 설정한다.
prime 배열을 가운데서부터 처음까지 탐색하면 두 소수의 차가 가장 작도록 할 수 있다.
📌CODE
T = int(input())
prime = [1] * (10000 + 1)
prime[0] = 0
prime[1] = 0
m = int(10000 ** 0.5)
for i in range(2, m + 1):
if prime[i]:
for j in range(2 * i, 10000 + 1, i):
prime[j] = 0
for _ in range(T):
n = int(input())
for i in range(n//2, -1, -1):
if prime[i] and prime[n-i]:
print(i, n-i)
break
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ][python] 1309. 동물원 (0) | 2022.07.26 |
---|---|
[BOJ][python] 1946. 신입 사원 (0) | 2022.07.26 |
[BOJ][python] 2805. 나무 자르기 (0) | 2022.07.26 |
[BOJ][python] 6588. 골드바흐의 추측 (0) | 2022.07.21 |
[BOJ][python] 2293. 동전 1 (0) | 2022.07.21 |