본문 바로가기
Algorithm/baekjoon

baekjoon 2581: 소수

by 갈잃자 2022. 8. 23.

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

 

2581번: 소수

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

www.acmicpc.net


M과 N 사이 수 중, 소수인 수를 찾아서 소수들의 합과, 가장 작은 소수를 출력하는 문제이다.

 

소수를 판별하는 식은 2~ 해당수 까지 for 문을 돌려 확인을 하였고, 하나라도 나누어 떨어 지는 숫자가 있다면 해당 숫자를 배제 하게끔 하였다.

 

만약 M,N사이에 소수가 없다면 -1 을 출력해야됨!

 

m = int(input())
n = int(input())
arr = []
for i in range(m,n+1):
    set = False
    if i != 1:
        for j in range(2,i):
            if i%j ==0:
                set = True
                break
            else:
                set = False
        if set == False:
            arr.append(i)

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

'Algorithm > baekjoon' 카테고리의 다른 글

baekjoon 4948: 베르트랑 공준  (0) 2022.08.31
baekjoon 1929: 소수 구하기  (0) 2022.08.25
baekjoon 1978: 소수 찾기  (0) 2022.08.21
baekjoon 2869: 달팽이는 올라가고 싶다  (0) 2022.08.20
baekjoon 2839: 설탕 배달  (0) 2022.08.11

댓글