티스토리 뷰

반응형

문제

 

1929번: 소수 구하기

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

www.acmicpc.net

풀이

에라토스테네스의 체(yuuj.tistory.com/156)를 이용해서 풀 수 있는 문제.

import sys

def primelist(n):
    arr = [True for _ in range(n+1)]

    for i in range(2, (int(len(arr)**0.5)+1)):
        if arr[i]:
            for k in range(i+i, len(arr), i):
                arr[k] = False

    return arr


m, n = map(int, sys.stdin.readline().split(" "))

li = primelist(n)
for i in range(m, len(li)):
    if li[i] and i != 1:
        print(i)

 

반응형