๋ฐฑ์ค (boj) ํ์ด์ฌ - 1929 : ์์ ๊ตฌํ๊ธฐ
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1929
1929๋ฒ: ์์ ๊ตฌํ๊ธฐ
์ฒซ์งธ ์ค์ ์์ฐ์ M๊ณผ N์ด ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. (1 ≤ M ≤ N ≤ 1,000,000) M์ด์ N์ดํ์ ์์๊ฐ ํ๋ ์ด์ ์๋ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค.
www.acmicpc.net
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
https://infinitt.tistory.com/232
์๊ณ ๋ฆฌ์ฆ (1) - ์ํ : ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ , ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (๋๋จธ์ง ์ฐ์ฐ, ์ต๋ ๊ณต์ฝ์, ์ต์๊ณต๋ฐฐ์, ์์)
codepuls์ sw์ญ๋ํ ์คํธ_๊ธฐ์ดํํธ๋ฅผ ๋ฃ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์ํ๊ณผ ๊ด๋ จํ ๊ธฐ์ด๋ฌธ์ ์๋ ํฌ๊ฒ 3๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋์ด์ง๋ค. ๋๋จธ์ง ์ฐ์ฐ ์ต๋ ๊ณต์ฝ์, ์ต์ ๊ณต๋ฐฐ์ ์์ (prime number) 1. ๋๋จธ์ง ์ฐ์ฐ (Modular A..
infinitt.tistory.com
์๋ ๊ฐ๋ ์ ์์์ฒดํฌ์, ๋ฒ์**0.5 ๊น์ง ์ด์ง๋ง, int๋ก ๋ณํํ ๋ ๋ฐ์ฌ๋ฆผ์ด ๋์ด์๊ทธ๋ฐ๊ฐ ์ค๋ต์ด๋ฐ์ํ์๋ค. ๊ทธ๋์ 0.8์ ๋๋ก ์์ ํ์ง๋ง ์๊ฐ์ด๊ณผ ์์ด ํต๊ณผ๋์๋ค.
ํ์ด์ฌ ์ฝ๋
M , N = map(int,input().split())
r = N + 100
cheak = [False for _ in range(r)]
for i in range( 2, int(r**0.8) ) : # 2๋ถํฐ ~ ๋ฒ์(r)์ ์ ๊ณฑ๊ทผ๊น์ง
if cheak[i] == False : # ์ง์์ง์ง ์๊ณ , ๊ฐ์ฅ ์์์๋ผ๋ฉด
for j in range( i*2 , r, i ): # i์ 2๋ฐฐ์ ๋ถํฐ, 3๋ฐฐ์, 4๋ฐฐ์, .... ๋ฒ์๋๊น์ง ์ง์ด๋ค.(True๋ก)
cheak[j] = True
prime_number = [i for i,j in enumerate(cheak) if i>=2 and j==False]
for i in prime_number:
if N >= i >= M:
print(i)