์์(silver 5)
์์ฐ์ 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์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
60
100
์์ ์ถ๋ ฅ 1
620
61
์์ ์ ๋ ฅ 2
64
65
์์ ์ถ๋ ฅ 2
-1

M = int(input())
N = int(input())
decimal = []
for i in range(M, N+1):
for j in range(2, i+1):
if j == i:
decimal.append(i)
if i % j == 0:
break
if not decimal:
print(-1)
else:
print(sum(decimal))
print(decimal[0])
์ค๋ช )
M๊ณผ N์ input์ ํตํด intํ์ผ๋ก ๊ฐ๊ฐ ์ ๋ ฅ๋ฐ๋๋ค.
์์๋ฅผ ์ ์ฅํ ๋ฆฌ์คํธ decimal์ ์ด๊ธฐํํด์ฃผ๊ณ , for๋ฌธ์ ์ฌ์ฉํด์ ์์๋ค์ ์ถ๊ฐํด์ฃผ์๋ค.
์ด์ค for๋ฌธ์ ์ฌ์ฉํด์ i๊ฐ M๋ถํฐ N๊น์ง์ ๋ฒ์์ด๊ณ j๊ฐ 2๋ถํฐ i๊น์ง์ ๋ฒ์์ผ ๋, j์ i๊ฐ ๊ฐ๋ค๋ฉด ๊ฐ์์ง ๋๊น์ง ๋๋ด์ ๋ ๋๋์ด ๋จ์ด์ง์ง ์์๊ธฐ ๋๋ฌธ์ ์์์ด๋ฏ๋ก decimal ๋ฆฌ์คํธ์ i๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค.
i์ j๊ฐ ๋๋ด์ ๋ ๋๋์ด ๋จ์ด์ง ๊ฒฝ์ฐ, break๋ฌธ์ ์ฌ์ฉํด์ ๋น ์ ธ๋์ค๋๋ก ํด์ฃผ์๋ค.
๋ง์ฝ decimal ๋ฆฌ์คํธ์ ์์๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ, print๋ฅผ ์ฌ์ฉํด์ -1์ ์ถ๋ ฅํด์ฃผ์๊ณ ,
๊ทธ ์ธ์ ๊ฒฝ์ฐ print๋ฅผ ์ฌ์ฉํด์ decimal์ ํฉ๊ณผ decimal์ 0๋ฒ์งธ ์ธ๋ฑ์ค, ์ฆ ๊ฐ์ฅ ์์ ๊ฐ์ ์ถ๋ ฅํด์ฃผ์๋ค.


'๋ฐฑ์ค > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python] ๋ฐฑ์ค_4949๋ฒ (0) | 2022.05.15 |
|---|---|
| [Python] ๋ฐฑ์ค_ 4150๋ฒ (0) | 2022.05.08 |
| [Python] ๋ฐฑ์ค_1769๋ฒ (0) | 2022.05.08 |
| [Python] ๋ฐฑ์ค_1436๋ฒ (0) | 2022.05.01 |
| [Python] ๋ฐฑ์ค_10773๋ฒ (0) | 2022.05.01 |