본문 바로가기

PS/백준

[BOJ] 백준 1929 소수 구하기 (Swift)

반응형

문제

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

 

1929번: 소수 구하기

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

www.acmicpc.net

풀이

m이상 n이하의 소수를 모두 출력하는 문제입니다.

에라토스테네스의 체 알고리즘을 사용하면 쉽게 풀이할 수 있습니다.
https://dev-mandos.tistory.com/93

 

[알고리즘] 에라토스테네스의 체 (Swift)

에라토스테네스의 체 에라토스테네스의 체 알고리즘은 고대 그리스 수학자인 에라토스테네스가 만들어낸 소수를 찾는 알고리즘 입니다. 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네

dev-mandos.tistory.com

n이하의 소수들을 전부 구해준 후,
m이상 n이하를 하나씩 확인하면서 소수이면 출력해주면 됩니다.

소스코드

후기

소수판별의 로직을 알고있다면 쉽게 풀이할 수 있습니다.
에라토스테네스의 체 알고리즘을 사용하지 않고, 하나씩 소수판별을 하여도 무방합니다.
하지만 에라토스테네스의 체 알고리즘을 사용하여 한 번에 n이하의 소수들을 구하는 것이 더 빠릅니다.

image

반응형