Python/Baekjoon

백준 2581번 : 소수

sungjunminn 2022. 10. 17. 09:50

https://www.acmicpc.net/problem/2581

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net

 

 

M = int(input())
N = int(input())

sosu = []
for num in range(M,N+1):
    error = 0
    if num > 1:
        for k in range(2, num):   # 2부터 n-1까지
            if num % k == 0:
                error += 1   # 2부터 n-1까지 나눈 몫이 0이면 error가 증가
                break
        if error == 0:
            sosu.append(num) # error가 없으면 소수에 추가

if len(sosu) > 0:   #소수의 개수가 1개 이상일 때
    print(sum(sosu))
    print(min(sosu))
else:   #소수가 없으면
    print(-1)