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 |