
https://www.acmicpc.net/problem/1929
M, N = map(int, input().split())
for num in range(M, N+1):
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(num)
num == 1일 때를 처리하지 못한다.
M, N = map(int, input().split())
a = [False, False] + [True] * (N-1)
primes = []
for i in range(2, N+1):
if a[i]:
primes.append(i)
for j in range(2*i, N+1, i):
a[j] = False
for p in primes:
if p >= M:
print(p)

M, N = map(int, input().split())
for num in range(M, N+1):
if num == 1:
continue
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
break
else:
print(num)
num == 1일 때를 처리했고, is_prime 대신 for-else문을 사용하였다.for-else, while-else문을 잘 사용해보자.for, while문에서 break로 인해 반복문이 중단되지 않았을 때만 else문이 실행된다.else문은 "반복이 끝까지 정상적으로 마무리되었다"라는 의미로 전체 순회를 완료한 경우에 실행된다.