๐Ÿค–/๋ฐฑ์ค€

๋ฐฑ์ค€ 9020: ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก (Python)

sssbin 2021. 9. 1. 15:26

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

 

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

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

www.acmicpc.net

 

์ฒ˜์Œ ์ฝ”๋“œ - ๋˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ,,,,,,,,

์ˆซ์ž๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋„ฃ์–ด์„œ ์ฐจ์ด๊ฐ’์„ ๋น„๊ตํ–ˆ์—ˆ๋‹ค

 

num = []

for i in range(2, 10000):
    cnt = 0

    for p in range(2, int(i**0.5)+1):
        if i % p == 0:
            cnt += 1
            break

    if cnt == 0:
        num.append(i)

t = int(input())

for i in range(t):
    n = int(input())
    d = n

    for j in num:
        if j in range(n//2+1):
            if n - j in num:
                if n - j - j < d:
                    d = n - j - j
        else:
            break

    print((n-d)//2,n-(n-d)//2)

 

์ด๋ฒˆ์—” ๊ทธ๋ž˜์„œ ์•„์˜ˆ ์ค‘๊ฐ„๊ฐ’๋ถ€ํ„ฐ ๋„ฃ์—ˆ๋‹ค

๊ทธ๋Ÿฌ๋ฉด ์ฐจ์ด๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋‹ˆ๊นŒ ์ฐจ์ด๊ฐ’์„ ๋น„๊ตํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค!

 

num = []

for i in range(2, 10000):
    cnt = 0

    for p in range(2, int(i**0.5)+1):
        if i % p == 0:
            cnt += 1
            break

    if cnt == 0:
        num.append(i)

t = int(input())

for i in range(t):
    n = int(input())
    a = n//2
    b = a

    while a > 0:
        if a in num and b in num:
            print(a, b)
            break
        else:
            a -= 1
            b += 1