Algorithm/Python

[백준 1929] 소수구하기

🥭맹2 2021. 1. 31. 15:33
1. 문제

 

www.acmicpc.net/problem/1929

 

1929번: 소수 구하기

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

www.acmicpc.net

 

 

2. 접근방법

 

예전에 모르고리즘 문제 중 소수 판별하기 문제가 있었는데 그 문제 풀면서 사용했던 "에라토스테네스의 체"가 생각나서 이걸로 풀었습니다.

 

사실 그거 이름만 기억나고 구현 방법은 기억이 안나서 ^-^

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

서치 했구요 ..

 

A형 시험 D-3인데 .. 잘 할 수 있겠쬬 ..?

 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

흠 ~!

 

에라토스테네스의 체

출처 : wikidocs.net/21638

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

3. 파이썬 코드

 

M, N = map(int, input().split())
a = [False, False] + [True]*(N-1)
primes = []

for i in range(2, N+1):
    if a[i]:
        if M <= i <= N:
            primes.append(i)
        for j in range(2*i, N+1, i):
            a[j] = False

print(*primes, sep="\n")

 

4. 마치며

온겸쓰가 풀어보라고 해서 푼 문제인데

에라토스테네스의 체를 기억할 겸 .. 첫 포스팅도 해볼겸 .. 적은 글이구요

알고리즘 풀이 포스팅 스켈레톤은 알고리즘 신 갓승환님의 포스팅을 참고했습니다

 

그럼 이만 ~!

'Algorithm > Python' 카테고리의 다른 글

[알고리즘] 순열  (0) 2021.02.07
[백준 16236] 아기 상어  (2) 2021.02.03
[백준 20055] 컨베이어 벨트 위의 로봇  (0) 2021.02.02
[백준 17471] 게리맨더링  (0) 2021.02.01
[백준 17070] 파이프 옮기기 1  (0) 2021.01.31