#소수 판별 함수 사용(문제 1978번 참조)
def Prime (n):
if n < 2: return False
elif n==2: return True
else:
for i in range(2,int(n**0.5)+1):
if n%i == 0 :
return False
break
return True
M, N = map(int,input().split())
for i in range(M, N+1):
if Prime(i): print(i)
# 지난 1978번 소수 구하는 문제에 사용한 함수를 사용하면 시간 초과가 된다
# 어떤 수의 약수는 중심점을 기준으로 좌우에 있는 수가 곱해지는데 이를 이용해 어떤 수의 절반까지만 나눠지는 수가 있는지 검사한다
# 이때 절반만 사용하기 위해 제곱근(루트)을 사용한다. 자세한 설명은 하기 링크 참조
'백준's 단계별 풀이' 카테고리의 다른 글
Stage_9 (기본수학2) 9020번 골드바흐의 추측 (0) | 2021.04.15 |
---|---|
Stage_9 (기본수학2) 4948번 베르트랑 공준 (0) | 2021.04.08 |
Stage_9 (기본수학2) 11653번 소인수분해 (0) | 2021.04.06 |
Stage_8 (기본수학2) 2581번 소수 (0) | 2021.03.30 |
Stage_8 (기본수학2) 1978번 소수 찾기 (0) | 2021.03.23 |