IFP_껐다 켜면 됩니다_백준 - 소수 구하기(1929)

유재우·2022년 6월 8일
0

IFP-껐다 켜면 됩니다

목록 보기
96/123

문제

M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.

  • 입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
  • 출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
  • 예제 입력 1
3 16
  • 예제 출력 1
3
5
7
11
13

  • 첫번째 시도
m, n = map(int, input().split())
answer = []
for i in range(m, n + 1):
    if i > 1:
        answer.append(i)
        for num in range(2,i):
            if i % num == 0:
                answer.remove(i)
                break
for an in answer:                
    print(an)
  • 정답
def isPrime(num):
    if num==1:
        return False
    else:
        for i in range(2, int(num**0.5)+1):
            if num%i == 0:
                return False
        return True
M, N = map(int, input().split())
for i in range(M, N+1):
    if isPrime(i):
        print(i)

  • 이 문제를 풀때 항상 시간초과로 틀리는데 시간을 줄이는 방법을 잘 모르겠다.
profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글