1929번_소수 구하기

sz L·2023년 2월 21일
0

백준 알고리즘

목록 보기
25/32
post-thumbnail

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

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

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

예제 입력 1
3 16
예제 출력 1
3
5
7
11
13

import math
M, N = map(int, input().split())
A = [0] * (N + 1)

for i in range(2, N + 1):
    A[i] = i

for i in range(2, int(math.sqrt(N)) + 1):
    if A[i] == 0:
        continue

    for j in range(i + i, N + 1,i):
        A[j] = 0

for i in range(M, N + 1):
    if A[i] != 0: 
        print(A[i])            

출력

profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글