문제링크
https://www.acmicpc.net/problem/1929
1929번: 소수 구하기
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
www.acmicpc.net
풀이
- 소수인지 판별하는 함수 외워두자 !
- i가 소수인지 판별하기 위해서는 2부터 i-1까지 나누어 떨어지는 수가 있는지 확인하면 되는데, 범위에 해당하는 모든 수에 대해서 검사할 필요 없이 약수는 대칭으로 이루어져 있기 때문에 i의 제곱근까지만 검사해보면 된다.
m, n = map(int,input().split())
for i in range(m,n+1):
if i == 1 :
continue
for j in range(2, int(i** 0.5) +1 ):
if i % j == 0:
break
else :
print(i)
'개발 > algorithm' 카테고리의 다른 글
[백준 2164번] 카드2 - python (0) | 2022.02.12 |
---|---|
[백준 1978번] 소수 찾기 -python (0) | 2022.02.12 |
[백준 1654번] 랜선 자르기 - python (0) | 2022.02.12 |
[백준 1085번] 직사각형에서 탈출 - python (0) | 2022.02.12 |
[백준 2231번] 분해합 - python (0) | 2022.02.12 |