문제풀이/기타

[파이썬] [기타] 백준 6588 골드하브의 추측

승무_ 2022. 12. 30. 11:35

문제

https://www.acmicpc.net/problem/6588

 

6588번: 골드바흐의 추측

각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰

www.acmicpc.net

코드

import sys
import math

input=sys.stdin.readline

n=1000000

array=[True for _ in range(n+1)]

for i in range(2, int(math.sqrt(n))+1):
    if array[i]==True:
        k=2
        while k*i<=n:
            array[k*i]=False
            k+=1


while 1:
    n=int(input())
    if n==0:
        break
    for i in range(2,500000):
        if array[i]==True and array[n-i]==True:
            print(str(n)+" = "+str(i)+" + "+str(n-i))
            break