2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net
이것도 2부터 num까지 num을 나누어 소수인지 여부를 판별했다(매우 비효율적인 방법이다. 테스트케이스가 많은 예시일 때 시간초과 나기 쉽다.)
소수의 합과 소수 중 최솟값은 파이썬 내장함수(sum()함수, min()함수)를 이용했다.
시간은 588ms, 메모리는 30840KB가 나왔다.
# 2581 소수
M = int(input())
N = int(input())
arr = []
for num in range(M, N+1):
flag = False
if num == 1:
continue
for i in range(2, num):
if num % i == 0:
flag = True
break
if flag is True:
continue
else:
arr.append(num)
if len(arr) != 0:
print(sum(arr))
print(min(arr))
else:
print(-1)
'개발 공부 > 알고리즘 문제풀이' 카테고리의 다른 글
[백준] 1929. 소수 구하기 (0) | 2022.07.31 |
---|---|
[백준] 11653. 소인수분해 (0) | 2022.07.31 |
[백준] 1978. 소수 찾기 (0) | 2022.07.31 |
[백준] 2775. 부녀회장이 될테야 (0) | 2022.07.27 |
[백준] 10250. ACM 호텔 (0) | 2022.07.25 |