import math

n, m =  map(int, input().split())
result = set(range(n,m+1))

for i in range(2, int(math.sqrt(m))+1): # 2 ~ 루트M(=M의 약수들 중에서 중간값) 까지 증가시킨다. (<-에라토스테네스의 체 방식)
    remove_element = set(range(i,m+1,i)) # 2~ 루트M까지의 수의, 배수 set 을 생성
    remove_element.discard(i)
    result = result - remove_element # 2~ 루트M까지의 수의, 배수를 제거한다

result.discard(1) # 1이 포함되어있을 경우 삭제하기
result = sorted(list(result)) # 오름차순 정렬하기

print(*result, sep='\n')
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2231 분배합  (0) 2023.10.17
[백준] 1934 최소공배수  (0) 2023.10.17
[백준] 1546 평균  (0) 2023.10.17
[백준]1436 영화감독 숌  (0) 2023.10.17
[백준]1157 단어공부  (0) 2023.10.17

+ Recent posts