Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 1929. ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ

deo2kim 2020. 9. 28. 10:29
๋ฐ˜์‘ํ˜•

์ถœ์ฒ˜: ์œ„ํ‚ค๋ฐฑ๊ณผ

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  • S2 | ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

์†Œ์ˆ˜: 1๊ณผ ์ž๊ธฐ ์ž์‹  ์ด์™ธ์˜ ์•ฝ์ˆ˜๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜

์ˆซ์ž ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋ชจ๋‘ for๋ฌธ์„ ๋Œ๋ ค์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋น„ํšจ์œจ์ ์ž„. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ์ด์šฉํ•œ๋‹ค.

  1. 0๋ถ€ํ„ฐ ๊ตฌํ•˜๊ณ ์žํ•˜๋Š” ๊ฐ’์˜ ๊ธธ์ด ๋งŒํผ 0์˜ ๊ฐ’์„ ๊ฐ€์ง„ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค. ex) dp = [0, 0, 0, 0, ..., 0]
  2. for๋ฌธ์œผ๋กœ 2๋ถ€ํ„ฐ ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ๋Œ๋ฉด์„œ ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ ๋ฐฐ์ˆ˜๋Š” ์ „๋ถ€ 1๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ๋งจ ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›€
  3. ๋ฐฐ์—ด์—์„œ 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

 

๋ฐ˜์‘ํ˜•