코딩테스트/백준(BOJ)

백준(BOJ) - 소수 구하기(1929번) - 파이썬(python)

진한색 2023. 2. 3. 17:27

문제

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

입력

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

출력

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

 소수판별 함수 참고: https://jinhan0716.tistory.com/5

 

소수(prime number) 판별 코드 - 파이썬(python)

소수 판별 코드 def is_prime(n): if n

jinhan0716.tistory.com

import sys
input=sys.stdin.readline

def is_prime(n):
    if n<2:
        return False
    if n in (2,3):
        return True
    if n%2==0 or n%3==0:
        return False
    if n<9:
        return True
    k,l=5,n**0.5
    while k<=l:
        if n%k==0 or n%(k+2)==0:
            return False
        k+=6
    return True

m,n=map(int,input().rstrip().split())

for i in range(m,n+1):
    if is_prime(i):
        print(i)

 

728x90