์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/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++

sql
๋‹ซ๊ธฐ
# 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