πŸ€–/λ°±μ€€

λ°±μ€€ 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