백준 1929 - 소수 구하기 (파이썬)

Updated:

Answer

m, n = map(int, input().split())
n += 1
sieve = [True] * n

for i in range(3, int(n ** 0.5) + 1, 2):
    if sieve[i]:
        sieve[i ** 2::i * 2] = [False] * ((n - i * i - 1) // (2 * i) + 1)
        
x = [2] + [i for i in range(3, n, 2) if sieve[i]]

for i in x:
    if i >= m:
        print(i)

Categories:

Updated: