본문 바로가기
Learning-log/Algorithm 문풀

백준(파이썬, python) - 2581번 소수 (2022.11.07)

by why제곱 2022. 11. 7.

1) 문제

 

2) 풀이

import sys
M = int(sys.stdin.readline())
N = int(sys.stdin.readline())
numbers = list(map(int,range(M,N+1)))
prime_num = []

for i in numbers:
    if i > 1
        test = 0
        for j in range(2,i):
            if i%j == 0:
                test += 1
        if test == 0:
            prime_num.append(i)
sum = 0
for i in prime_num:
    sum += i

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

3) 문법 및 풀이과정

앞서 풀었던 소수 찾기 풀이를 조금만 응용하면 된다.

2부터 i-1까지 나누어 소수를 찾는데 이 때 count에 1을 더하는 대신 미리 만들어둔 prime_num에 소수를 append한다.

이 len(prime_num)가 0이면 -1이 출력되도록 하고 아닐 경우, prime_num의 모든 값들을 더해둔 sum과 min(prime_num)가 출력되도록 한다.