기록을 남기자
카테고리
작성일
2023. 4. 14. 20:34
작성자
ssun_bear
반응형

문제

https://www.acmicpc.net/problem/1929

 

1929번: 소수 구하기

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

www.acmicpc.net

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

입력

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

출력

한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.

코드

import sys

def isPrime(N):
    if N==1: return False
    for i in range(2,int(N**0.5)+1):
        if N % i==0: return False
    return True


a,b=map(int, sys.stdin.readline().split())
for i in range(a, b+1):
    if isPrime(i)==1:
        print(i)

문제 해결

에라토스테네스의 체를 이용하면 더 적은 시간복잡도의 코드로 작성할 수 있지만, 귀하는 단순 소수 판별 함수를 작성하여 코드를 제출했다.

반응형