[백준] 1929번 - 소수 구하기

Cllaude·2023년 7월 14일
1

backjoon

목록 보기
35/65


문제 분석

주어진 범위내에서 소수 값을 구하는 문제로 에라토스테네스의 체를 이용하여 문제를 풀면 된다.
이때 'N의 제곱근 + 1' 전까지 탐색하는것에 유의하며 문제를 풀면된다.


소스 코드

# 소수 구하기
import math
M, N = map(int, input().split())
arr = [0] * (N + 1)

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

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

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

0개의 댓글