티스토리 뷰

접근법
어찌 되었던 소수를 찾아서 리스트에 담던, 누적합을 시켜주어야 한다.
따라서 전에 생성해두었던 함수를 재활용해 보았다. 함수는 다음과 같다. (이전 포스팅 참고)
def Prime(n):
if n <= 1:
pass
elif n <= 3:
return n
else :
D = 0
for i in range(2,n):
if n % i == 0:
D += 1
if D == 0 :
return n
주어진 범위내에서 숫자를 함수에 적용시켜 함수들만 따로 list에 담아둔 뒤에 문제에서 원하는 답을 출력하도록 했다.
풀이
N = int(input())
M = int(input())
res = list()
for i in range(N, M+1):
if bool(Prime(i)) == True:
res.append(Prime(i))
if sum(res) != 0 :
print(sum(res),min(res), sep='\n')
else :
print(-1)
필자와 같은 지저분한 코딩보다는 (?) 처음부터 주어진 범위인 1부터 10,000까지의 숫자에서 소수를
미리 찾아 놓은 뒤에 문제를 해결하는 것이 더 바람직해 보인다...🤷♀️
'프로그래밍 > BOJ' 카테고리의 다른 글
| 백준 #4948: 베르트랑 공준 (0) | 2020.01.22 |
|---|---|
| 백준 #1929: 소수 구하기 (0) | 2020.01.22 |
| 백준 #1978: 소수 찾기 (0) | 2020.01.22 |
| 백준 #1011: Fly me to the Alpha Centauri (0) | 2020.01.19 |
| 백준 #2775: 부녀회장이 될테야 (0) | 2020.01.19 |
댓글