๋ฌธ์
1๋ณด๋ค ํฐ ์์ฐ์ ์ค์์ 1๊ณผ ์๊ธฐ ์์ ์ ์ ์ธํ ์ฝ์๊ฐ ์๋ ์์ฐ์๋ฅผ ์์๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, 5๋ 1๊ณผ 5๋ฅผ ์ ์ธํ ์ฝ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์์์ด๋ค. ํ์ง๋ง, 6์ 6 = 2 × 3 ์ด๊ธฐ ๋๋ฌธ์ ์์๊ฐ ์๋๋ค.
๊ณจ๋๋ฐํ์ ์ถ์ธก์ ์ ๋ช
ํ ์ ์๋ก ์ ๋ฏธํด๊ฒฐ ๋ฌธ์ ๋ก, 2๋ณด๋ค ํฐ ๋ชจ๋ ์ง์๋ ๋ ์์์ ํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ์๋ฅผ ๊ณจ๋๋ฐํ ์๋ผ๊ณ ํ๋ค. ๋, ์ง์๋ฅผ ๋ ์์์ ํฉ์ผ๋ก ๋ํ๋ด๋ ํํ์ ๊ทธ ์์ ๊ณจ๋๋ฐํ ํํฐ์
์ด๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค๋ฉด, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7์ด๋ค. 10000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์ง์ n์ ๋ํ ๊ณจ๋๋ฐํ ํํฐ์
์ ์กด์ฌํ๋ค.
2๋ณด๋ค ํฐ ์ง์ n์ด ์ฃผ์ด์ก์ ๋, n์ ๊ณจ๋๋ฐํ ํํฐ์
์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ง์ฝ ๊ฐ๋ฅํ n์ ๊ณจ๋๋ฐํ ํํฐ์
์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ๋ ์์์ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ์์ ๊ฒ์ ์ถ๋ ฅํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ์ง์ n์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์ ์ฃผ์ด์ง n์ ๊ณจ๋๋ฐํ ํํฐ์ ์ ์ถ๋ ฅํ๋ค. ์ถ๋ ฅํ๋ ์์๋ ์์ ๊ฒ๋ถํฐ ๋จผ์ ์ถ๋ ฅํ๋ฉฐ, ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ๋ค.
ํ์ด
INF = 10000
# ์๋ผํ ์คํ
๋ค์ค์ ์ฒด
prime = [1 for i in range(INF+1)]
prime[0] = prime[1] = 0
for i in range(2, INF+1):
if not prime[i]:
continue
for j in range(i*i, INF+1, i):
prime[j] = 0
# ํ
์คํธ์ผ์ด์ค
t = int(input())
for _ in range(t):
n = int(input())
a = 0
for i in range(n//2 + 1):
if prime[i] and prime[n-i]:
a = i
print(f"{a} {n-a}")
'๐ ํ์ด์ฌ ์์ด์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][Python] ๋ฐฑ์ค 11057๋ฒ: ์ค๋ฅด๋ง ์ (Silver I) (0) | 2024.10.25 |
---|---|
[BOJ][Python] ๋ฐฑ์ค 10815๋ฒ: ์ซ์ ์นด๋ (0) | 2024.10.22 |
[BOJ][Python] ๋ฐฑ์ค 2644๋ฒ: ์ด์๊ณ์ฐ (0) | 2024.10.17 |
[BOJ][Python] ๋ฐฑ์ค 1475๋ฒ: ๋ ์ง ๊ณ์ฐ (0) | 2024.10.16 |
[BOJ][Python] ๋ฐฑ์ค 1789๋ฒ: ์๋ค์ ํฉ (0) | 2024.10.15 |