[TIL] 오늘의 공부/코딩테스트

1929번 소수 구하기

개발소연자 2023. 1. 26. 15:05
M, N = map(int, input().split())
num = M
while num <= N:
    for i in range(2, num):
        is_prime = True
        if num%i == 0:
            is_prime = False
            break
    if is_prime == True:
        print(num)
    num += 1

또 시간초과가 나서 

M, N = map(int, input().split())
prime = 2
while M <= N:
    if M == prime:
        print(M)
        prime = 2
        M += 1
    elif M%prime == 0:
        prime = 2
        M += 1
    else:
        prime += 1

for문을 없애 보았는데
또 시간초과가 났다. 
왜지왜지왜지왜지
쓸데 없이 반복되는 중간 계산이 뭔가 있나
 
소수의 정의: 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다.