Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

행복한 개구리

백준 21.12.08. 2581번 - 소수 본문

Algorithm/BaekJoon

백준 21.12.08. 2581번 - 소수

HappyFrog 2021. 12. 8. 21:16

m = int(input())
n = int(input())

result = []
for i in range(m, n+1):
    div = 0
    if i > 1:
        for j in range(2, i):
            if i % j == 0:            
                div += 1
                break
        if div == 0:
            result.append(i)
        
if len(result) == 0:
    print(-1)
else:
    print(sum(result))
    print(min(result))
  • 중첩반복문을 실행하여 주어진 두 수사이의 각 숫자들이 소수인지 아닌지 증명합니다.
  • 약수를 구하는 범위가 2부터 n-1까지 이기때문에 소수라면 약수가 존재하지 않을테니 result리스트에 append메서드를 사용하여 요소를 추가해줍니다.
  • 약수가 발견된다면 break으로 반복문을 깨버리면 됩니다.
    • break을 쓰면 for j in range(2,i) 반복문이 깨집니다.
  • 마지막으로 리스트의 길이로 리스트가 비었는지 아닌지 판단하여 리스트가 비었다면 소수가 없다는 말이므로 -1을 출력하고 리스트의 길이가 0이 아니라면 sum과 min메서드를 이용하여 리스트의 요소의 총합과 리스트 요소의 최솟값을 출력해줍니다.