Algorithm Problem/Python
[python] ๋ฐฑ์ค - 1929. ์์ ๊ตฌํ๊ธฐ
deo2kim
2020. 9. 28. 10:29
๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
-
S2 | ์๋ผํ ์คํ ๋ค์ค์ ์ฒด
์์: 1๊ณผ ์๊ธฐ ์์ ์ด์ธ์ ์ฝ์๋ฅผ ๊ฐ์ง์ง ์๋ 1๋ณด๋ค ํฐ ์์ฐ์
์ซ์ ํ๋ํ๋๋ฅผ ๋ชจ๋ for๋ฌธ์ ๋๋ ค์ ๊ตฌํ ์ ์์ง๋ง ๋นํจ์จ์ ์. ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ด์ฉํ๋ค.
- 0๋ถํฐ ๊ตฌํ๊ณ ์ํ๋ ๊ฐ์ ๊ธธ์ด ๋งํผ 0์ ๊ฐ์ ๊ฐ์ง ๋ฐฐ์ด์ ๋ง๋ ๋ค. ex) dp = [0, 0, 0, 0, ..., 0]
- for๋ฌธ์ผ๋ก 2๋ถํฐ ๋ฐฐ์ด์ ๋๊น์ง ๋๋ฉด์ ์๊ธฐ ์์ ์ ์ ์ธํ ๋ฐฐ์๋ ์ ๋ถ 1๋ก ๋ฐ๊ฟ์ค๋ค. ๋งจ ์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ดํดํ๊ธฐ ์ฌ์
- ๋ฐฐ์ด์์ 0์ธ ๋ ์๋ค์ printํด์ค๋ค.
๐ป์์ค ์ฝ๋
def eratos(n):
for j in range(n * 2, E + 1, n):
dp[j] = 1
return
S, E = map(int, input().split())
dp = [0] * (E + 1)
dp[0], dp[1] = 1, 1
for i in range(2, E + 1):
if dp[i] == 0:
eratos(i)
for i in range(S, E + 1):
if dp[i] == 0:
print(i)
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋งํฌ: https://www.acmicpc.net/problem/1929
1929๋ฒ: ์์ ๊ตฌํ๊ธฐ
์ฒซ์งธ ์ค์ ์์ฐ์ M๊ณผ N์ด ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. (1 ≤ M ≤ N ≤ 1,000,000) M์ด์ N์ดํ์ ์์๊ฐ ํ๋ ์ด์ ์๋ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋ฐ์ํ