반응형
문제
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이하의 소수들을 구하는 것이 더 빠릅니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 17103 골드바흐 파티션 (Swift) (0) | 2023.03.16 |
---|---|
[BOJ] 백준 4948 베르트랑 공준 (Swift) (0) | 2023.03.16 |
[BOJ] 백준 4134 다음 소수 (Swift) (0) | 2023.03.16 |
[BOJ] 백준 2485 가로수 (Swift) (0) | 2023.03.16 |
[BOJ] 백준 1735 분수 합 (Swift) (0) | 2023.03.15 |