[백준] #2581 소수 python

2022. 12. 25. 21:26

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

 

2581번: 소수

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

www.acmicpc.net

좀 더 깔끔하게 풀이할 순 없었을까..

 

A = int(input())
B = int(input())
num_list = [i for i in range(A, B+1)]

result = []
for i in num_list:
    if i == 1:
        continue
    if i == 2:
        result.append(2)
        continue
    if i == 3:
        result.append(3)
        continue
    nTrue = True
    for j in range(2,i):
        if i % j == 0:
            nTrue = False
    if nTrue:
        result.append(i)
if len(result) == 0:
    print(-1)
else:
    print(sum(result))
    result.sort()
    print(result[0])

BELATED ARTICLES

more