https://www.acmicpc.net/problem/9020
9020번: 골드바흐의 추측
1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아
www.acmicpc.net
https://github.com/stellaluminary/Baekjoon
GitHub - stellaluminary/Baekjoon
Contribute to stellaluminary/Baekjoon development by creating an account on GitHub.
github.com
def prime(k):
if k == 1:
return 0
for i in range(2, int(k ** 0.5) + 1):
if k % i == 0:
return 0
return 1
prime_list = []
for i in range(2, 10000+1):
if prime(i):
prime_list.append(i)
for i in range(int(input())):
ans = []
n = int(input())
for j in prime_list:
if n - j in prime_list:
ans.append((abs(j-(n-j)), j, n-j))
ans.sort()
print(ans[0][1], ans[0][2])
절반에 대하여 하나씩 감소하며 소수를 찾는 방법
2 소수의 차이가 작은 것부터 찾으라고 하여 절반부터 하나씩 차이를 주며 결과를 도출하는 방법임
def prime(k):
if k == 1:
return 0
for i in range(2, int(k ** 0.5) + 1):
if k % i == 0:
return 0
return 1
for i in range(int(input())):
ans = []
n = int(input())
for j in range(n//2, 0, -1):
if prime(j) and prime(n-j):
print(j, n-j)
break