◼ PS Note/백준
[백준] 1929번 : 소수 구하기 (🥈실버 3)
SangYoonLee (SYL)
2023. 1. 22. 04:20
반응형
문제 바로 가기
1929번: 소수 구하기
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
www.acmicpc.net
풀이
- 사용 언어 : Python
- 풀이한 날짜 : 2022-03-11
m, n = tuple(map(int, input().split()))
def isPrime(a):
if a == 1 : return False
i = 2
while i*i <= a:
if a % i == 0:
return False
i += 1
return True
for x in range(m, n+1):
if(isPrime(x)):
print(x)
풀이 로직
- m부터 n까지의 수를 for문을 통해 하나씩 확인하면서 소수인지 판별하고, 소수이면 출력한다. 끝.
- 소수 판별 과정은 함수로 따로 만들어 구현했다. 판별 과정 중 나머지 연산은 n의 제곱근까지만 해보면 된다는 점.
문제 접근 과정 및 느낀점
- 소수를 판별하는 방법만 알고 있으면 어렵지 않게 풀리는 문제.
(이게 왜 실버 3??) - 알아보니, '에라토스테네스의 체' 풀이 방법 때문에 난이도가 높게 측정된 것 같다. (오늘 같이 푼 '킹 (1063번 /실버 4)' 문제가 훨씬 까다로웠다.)
반응형