์ƒˆ์†Œ์‹

๐Ÿงฎ PS

๋ฐฑ์ค€ (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)

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.