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 |
댓글