
리스트의 인덱스로 수를 표현하는 방법과 이중 for문을 사용해서 문제를 해결하고 싶었으나, 예상한 대로 시간초과가 발생했다.
import sys
M,N=map(int,sys.stdin.readline().split())
num_list=[0]*(N-M+1)
for i in range(M,N):
    for j in range(2,i):
        if i%j==0:
            num_list[i-M]+=1
for i in range(M,N):
    if num_list[i-M]==0:
        print(i)

n=1000
a = [False,False] + [True]*(n-1)
primes=[]
n+1
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
print(primes)
위 방법으로 백준 #1929 소수 구하기를 해결할 수 있다. 파이썬 코드는 다음과 같다.
import sys, math
M,N=map(int,sys.stdin.readline().split())
num_list=[False,False]+[True]*(N-1)
primes=[]
for i in range(2,N+1):
    if num_list[i]:
        primes.append(i)
        for j in range(2*i,N+1,i):
            num_list[j]=False
for i in primes:
    if i>=M:
        print(i)