열렬히.뛰기

2581번: 소수

알고리즘: 실전 > 백준 단계별로 풀기: 1번 ~ 9번 > 2581번: 소수

문제

자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.

예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다.

코드

python
"""소수"""

m = int(input())
n = int(input())
sosu = []
for x in range(m, n+1):
    if x == 1:
        pass
    else:
        error = 0
        for u in range(2, x):
            if x % u == 0:
                error += 1
        if error == 0:
            sosu.append(x)

if len(sosu) == 0:
    print(-1)
else:
    print(sum(sosu))
    print(min(sosu))