๋ฌธ์
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์์๋ฅผ ์ฐพ๋ ์ ๋ช ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
- 2๋ถํฐ N๊น์ง ๋ชจ๋ ์ ์๋ฅผ ์ ๋๋ค.
- ์์ง ์ง์ฐ์ง ์์ ์ ์ค ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ๋๋ค. ์ด๊ฒ์ P๋ผ๊ณ ํ๊ณ , ์ด ์๋ ์์์ด๋ค.
- P๋ฅผ ์ง์ฐ๊ณ , ์์ง ์ง์ฐ์ง ์์ P์ ๋ฐฐ์๋ฅผ ํฌ๊ธฐ ์์๋๋ก ์ง์ด๋ค.
- ์์ง ๋ชจ๋ ์๋ฅผ ์ง์ฐ์ง ์์๋ค๋ฉด, ๋ค์ 2๋ฒ ๋จ๊ณ๋ก ๊ฐ๋ค.
N, K๊ฐ ์ฃผ์ด์ก์ ๋, K๋ฒ์งธ ์ง์ฐ๋ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K < N, max(2, K) < N ≤ 1000)
์ถ๋ ฅ
์ฒซ์งธ ์ค์ K๋ฒ์งธ ์ง์์ง ์๋ฅผ ์ถ๋ ฅํ๋ค.
์ ๋ต
n, k = map(int, input().split())
ch = [0]*(n+1)
count = 0
result = 0
for i in range(2, n+1):
if ch[i] == 0:
for j in range(i, n+1, i):
if ch[j] == 0:
count += 1
result = j
if count == k:
print(result)
break
ch[j] = 1
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฐฑ์ค 1541 - ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2020.11.09 |
---|---|
[Python] ๋ฐฑ์ค 1918 - ํ์ ํ๊ธฐ์ (0) | 2020.11.02 |
[Python] ๋ฐฑ์ค 4673 - ์ ํ ๋๋ฒ (0) | 2020.10.21 |
[Python] ๋ฐฑ์ค 1316 - ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2020.10.06 |
[Python] ๋ฐฑ์ค 2108 - ํต๊ณํ (0) | 2020.09.30 |