[Python_소수]
소수의 합과 최솟값 구하기
<STUDY>
📢 문제 📢
자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.
❗아이디어
- 약수의 갯수를 구하여 소수를 구한다.
<전체 코드>
import sys
M = int(sys.stdin.readline())
N = int(sys.stdin.readline())
score_li = []
for num in range(M, N+1):
li = []
for i in range(1, num+1):
if num % i == 0:
li.append(i)
else:
pass
if len(li) == 2:
score_li.append(num)
if len(score_li) == 0:
print(-1)
else:
print(sum(score_li))
print(min(score_li))
<코드 설명>
☝소수 찾기 (약수의 갯수)
for num in range(M, N+1):
li = []
for i in range(1, num+1):
if num % i == 0:
li.append(i)
else:
pass
if len(li) == 2:
# 소수 출력
- num 이하의 약수를 찾아 빈 리스트(li)에 추가한다.
- li의 길이가 2인 num은 소수로 생각한다.
🔆백준 코딩 2581번🔆
'STUDY > Algorithm' 카테고리의 다른 글
[백준코딩_파이썬] 2869번_달팽이는 올라가고싶다 (2) | 2022.09.26 |
---|---|
[백준코딩_파이썬] 1316번_그룹 단어 체커 (0) | 2022.04.03 |
[백준코딩_파이썬] 2893번_설탕배달 (0) | 2022.03.28 |
[백준코딩_파이썬] 10951번_A+B / 종결규칙이 없는경우 (0) | 2022.03.26 |
[백준코딩_파이썬] 8958번_OX 퀴즈 (0) | 2022.03.24 |