새소식

languages/coding test

[백준/Python] 2581번: 소수

  • -

단계별로 풀어보기 > 단계 9: 약수, 배수와 소수 > 2581번

#2581: 소수
m = int(input())
n = int(input())
prime = []
for i in range(m, n+1):
  cnt = 0
  if i > 1:
    for j in range(2, i):
      if i%j==0:
        cnt += 1
    if cnt == 0:
      prime.append(i)

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

 

마찬가지로 2 이상 조건 걸어주고, 각 범위에 대해 반복을 통해 2부터 i-1까지 나눗셈을 통해 약수 여부를 판단합니다. 약수가 하나도 없는 숫자를 소수 집합 prime에 추가하고, 리스트의 길이가 0이라면 -1을, 1 이상이라면 그 합과 최솟값을 출력하면 됩니다. 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.