Skip to content

Commit 571f0f4

Browse files
committed
12.17 jhuni17 2주차 풀이: 골든바흐의 추측
1 parent 34d567a commit 571f0f4

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

week2/6588_jhuni17.py

+13-8
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
#6588 골드바흐의 추측
2+
import sys
23

3-
def is_odd_prime(n):
4-
for i in range(3, int(n**0.5)+1, 2):
5-
if n % i ==0:
6-
return 0
7-
return 1
4+
def find_prime_list(n):
5+
is_prime = [True] * (n + 1)
6+
for i in range(2, int(n**0.5) + 1):
7+
for j in range(i * i, n + 1, i):
8+
is_prime[j] = False
9+
return is_prime
10+
11+
odd_prime_list = find_prime_list(1000000)
812

913
def solution(N):
1014
for i in range(3, int(N/2)+1, 2):
11-
if is_odd_prime(i) == 1 and is_odd_prime(N-i):
12-
return print(f"{N} = {i} + {N-i}")
15+
if odd_prime_list[i] and odd_prime_list[N-i]:
16+
print(f"{N} = {i} + {N-i}")
17+
return
1318

1419
print("Goldbach's conjecture is wrong.")
1520

1621
while True:
17-
N = int(input())
22+
N = int(sys.stdin.readline())
1823
if N == 0:
1924
break
2025
solution(N)

0 commit comments

Comments
 (0)