반응형
코드
m,n = map(int,input().split())
isPrime = [True for _ in range(n+1)]
isPrime[0]=isPrime[1]= False
for num in range(len(isPrime)) :
if isPrime[num] :
if m<=num and num<=n : print(num)
for i in range(num*2,len(isPrime),num) :
isPrime[i] = False
해설
에라토스테네스의 체를 사용하면 된다!
에라토스테네스의 체는 https://teching.tistory.com/5에 정리해놓았습니다.
에라토스테네스의 체 과정에서 숫자가 m~n의 범위안에 있으면 소수일경우 출력만 해주면 된다
반응형
'알고리즘 테스트 > 백준' 카테고리의 다른 글
백준 1002 : 터렛 (파이썬) (0) | 2022.01.26 |
---|---|
백준 4948 : 베르트랑 공준 (파이썬) (0) | 2022.01.26 |
백준 11653 : 소인수분해 (파이썬) (0) | 2022.01.25 |
백준 9020 : 골드바흐의 추측 (파이썬) (0) | 2022.01.25 |
백준 1978 : 소수 찾기 (파이썬) (0) | 2022.01.25 |