์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/BOJ_Python

[BOJ/Step9] 9020 : ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก (Python)

NaNaRin๐Ÿ™ƒ 2021. 2. 15. 18:32

www.acmicpc.net/problem/9020

 

9020๋ฒˆ: ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก

1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ  1๊ณผ ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ ์•ฝ์ˆ˜๊ฐ€ ์—†๋Š” ์ž์—ฐ์ˆ˜๋ฅผ ์†Œ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋Š” 1๊ณผ 5๋ฅผ ์ œ์™ธํ•œ ์•ฝ์ˆ˜๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์ˆ˜์ด๋‹ค. ํ•˜์ง€๋งŒ, 6์€ 6 = 2 × 3 ์ด๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์ˆ˜๊ฐ€ ์•„

www.acmicpc.net


๋ฐ”๋กœ ์ „ ๋ฌธ์ œ์—์„œ ๋ฐฐ์šด๋Œ€๋กœ.. ๋ฏธ๋ฆฌ ๋ฒ”์œ„๋งŒํผ ์ˆ˜๋ฅผ ์†Œ์ˆ˜ ํŒ๋ณ„ํ•˜๊ณ  ์‹œ์ž‘ ใ…Žใ…Ž

์ž…๋ ฅ๋ฐ›์€ n์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ  ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€, ๊ฐ์†Œ ํ•˜๋ฉด์„œ ๋‘˜ ๋‹ค ์†Œ์ˆ˜์ธ ๊ฒฝ์šฐ๋ฅผ ์ฐพ์œผ๋ฉด ๋‘˜ ์‚ฌ์ด์˜ ์ฐจ๊ฐ€ ๊ฐ€์žฅ ์ ์–ด์ง„๋‹ค

1. ์ž…๋ ฅ๋ฐ›์€ t๋งŒํผ for๋ฌธ ๋ฐ˜๋ณต

2. n์„ ์ž…๋ ฅ๋ฐ›๊ณ  n์˜ ๋ฐ˜์„ a์™€ b์— ์ €์žฅ

3. a์™€ b๊ฐ€ ๋‘˜ ๋‹ค ์†Œ์ˆ˜์ผ ๋•Œ๋งŒ a, b๋ฅผ ์ถœ๋ ฅ, ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด a--, b++

# 9020.py

N = 10001

prime = [False, False] + [True] * (N - 1)
for i in range(2, int(pow(N, 0.5) + 1)):
    if prime[i]:
        for j in range(i * i, N + 1, i):
            prime[j] = False

t = int(input())

for i in range(t):
    n = int(input())
    a = n // 2
    b = n // 2
    while True:
        if prime[a] and prime[b]:
            print(a, b)
            break
        else:
            a -= 1
            b += 1