๋ฌธ์
์์ฐ์ M๊ณผ N์ด ์ฃผ์ด์ง ๋ M์ด์ N์ดํ์ ์์ฐ์ ์ค ์์์ธ ๊ฒ์ ๋ชจ๋ ๊ณจ๋ผ ์ด๋ค ์์์ ํฉ๊ณผ ์ต์๊ฐ์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด M=60, N=100์ธ ๊ฒฝ์ฐ 60์ด์ 100์ดํ์ ์์ฐ์ ์ค ์์๋ 61, 67, 71, 73, 79, 83, 89, 97 ์ด 8๊ฐ๊ฐ ์์ผ๋ฏ๋ก, ์ด๋ค ์์์ ํฉ์ 620์ด๊ณ , ์ต์๊ฐ์ 61์ด ๋๋ค.
์ ๋ ฅ
์ ๋ ฅ์ ์ฒซ์งธ ์ค์ M์ด, ๋์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค.
M๊ณผ N์ 10,000์ดํ์ ์์ฐ์์ด๋ฉฐ, M์ N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ถ๋ ฅ
M์ด์ N์ดํ์ ์์ฐ์ ์ค ์์์ธ ๊ฒ์ ๋ชจ๋ ์ฐพ์ ์ฒซ์งธ ์ค์ ๊ทธ ํฉ์, ๋์งธ ์ค์ ๊ทธ ์ค ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
๋จ, M์ด์ N์ดํ์ ์์ฐ์ ์ค ์์๊ฐ ์์ ๊ฒฝ์ฐ๋ ์ฒซ์งธ ์ค์ -1์ ์ถ๋ ฅํ๋ค.
์ ๋ต
import math
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(math.sqrt(num)+1)):
if num % i == 0:
return False
return True
n = int(input())
m = int(input())
a = []
for x in range(n, m+1):
if is_prime(x):
a.append(x)
a.sort()
if sum(a) == 0:
print('-1')
else:
print(sum(a))
print(a[0])
์์๋ฅผ ๊ตฌํ๊ณ ๋ฆฌ์คํธ์์ ์์๋ค์ ์ง์ด๋ฃ์ด sort๋ฅผ ํด sum๊ณผ ์ฒซ๋ฒ์งธ ๊ฐ(์ต์๊ฐ)์ ๊ตฌํ๋ค.
๋ง์ฝ sum์ด 0์ผ ๊ฒฝ์ฐ ์์๊ฐ ์๋ ๊ฒฝ์ฐ๋๊น -1์ ์ถ๋ ฅํด์ค๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ํ๋ก๊ทธ๋๋จธ์ค LEVEL 1 - ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ (0) | 2020.09.22 |
---|---|
[Python] ๋ฐฑ์ค 1978 - ์์ ์ฐพ๊ธฐ (0) | 2020.09.19 |
[Python] ๋ฐฑ์ค 1929 - ์์ ๊ตฌํ๊ธฐ (0) | 2020.09.17 |
[Python] ๋ฐฑ์ค 2798 - ๋ธ๋์ญ (0) | 2020.09.15 |
[Python] ๋ฐฑ์ค 5893 - 17๋ฐฐ (0) | 2020.09.13 |