BOJ9020

    [백준 9020번-파이썬/Python] 골드바흐의 추측

    http://acmicpc.net/problem/9020 {코드} data = [int(input()) for _ in range(int(input()))] n = max(data) sieve = list(range(n+1)) sieve[0], sieve[1] = 0, 0 for i in range(2, n+1): if sieve[i]: for t in range(i+i, n+1, i): if sieve[t]: sieve[t] = 0 for n in data: p, q = n//2, n//2 while True: if sieve[p] and sieve[q]: print(p, q) break else: p -= 1 q += 1 {설명} 최대한 n을 이루는 수의 차가 작아야하므로 n의 절반에서 시작해서 n을..