๐ ๋ฌธ์
ํฌ๋์ ๋๋ ํจ๋น์ด๋ ์ธ๊ณ ์ต๊ณ ์ ๋ณด์๊ฐ๊ฒ ์์ ์์ ์ ์
ํ ๊ณํ์ด๋ค. ์ด ์์ ์์ ์ต๊ณ ์ ๋ณด์๊ฐ๊ฒ๋ต๊ฒ ์ต๊ณ ์ ๋ณด์์ฅ์น๋ฅผ ๋๊ณ ์๋๋ฐ, ์ด ๋ณด์์ฅ์น๋ฅผ ํด์ ํ์ง ์๋๋ค๋ฉด ๋ณด์์ ์ฌ๋ฌ ๊ฐ ํ์ณ๊ฐ ์, ๋ณด์๋ผ๋ฆฌ ๋ฌ๋ผ๋ถ์ผ๋ฉฐ ๋ฌด๊ฒ๊ฐ ๋ชจ๋ ๋ณด์๋ค์ ๊ณฑ์ผ๋ก ๋์ด๋๋ค.
ํจ๋น์ด๋ ์ด ๋ณด์์ฅ์น๋ฅผ ํด์ ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ฐจ๋ผ๋ฆฌ ๊ณฑํด์ง ๋๋ก ์ต๋ํ ๋ง์ ๋ณด์๋ค์ ๊ฐ์ ธ์ค๊ธฐ๋ก ๊ณํํ๋ค. ํจ๋น์ด๋ ํ๋ฒ์ k๋ผ๋ ๋ฌด๊ฒ๋ฅผ ๋ค ์ ์์ผ๋ฏ๋ก, ๋ฑ k๋งํผ์ ๋ฌด๊ฒ๋งํผ์ ๋ณด์์ ๊ฐ์ ธ์ค๊ณ ์ถ์๋ฐ, ๊ทธ ๋ ๋ณด์๋ค์ ์ต๋ ๊ฐ์๋ฅผ ์๊ณ ์ถ๋ค. ์์ ์์๋ ์ธ๊ณ ์ต๊ณ ์ ๋ณด์๊ฐ๊ฒ๋ต๊ฒ ๋ชจ๋ ๋ฌด๊ฒ์ ๋ณด์๋ค์ด ๋งค์ฐ ๋ง์ด๋๋ฌธ์, ํ์ณ๊ฐ๋ ๋ณด์์ด ๋ถ์กฑํ ์ผ์ ์๋ค. ๋ค๋ง ๋ชจ๋ ๋ณด์๋ค์ ๋ฌด๊ฒ๊ฐ 1๋ณด๋ค ํฌ๋ค. ํจ๋น์ด๋ ์ด์ ์์ ์์ ์ก์ ํ ๊ณํ์ ๋ค ์ธ์ ๋ค. ํ์ง๋ง ๋ฌด์จ ๋ณด์๋ค์ ํ์ณ์ฌ์ง ๊ฒฐ์ ํ์ง ๋ชปํ์๋๋ฐ, ํจ๋น์ด๋ฅผ ๋์ ํ์ฌ ํ์ณ์ฌ ๋ณด์๋ค์ ๊ฒฐ์ ํด์ฃผ์. ์ ๋ ฅ์ฒซ์งธ ์ค์๋ ํจ๋น์ด๊ฐ ๋ค ์ ์๋ ๋ฌด๊ฒ k๊ฐ ์ฃผ์ด์ง๋ค.(2≤k≤1012)
์ถ๋ ฅ์ฒซ์งธ ์ค์๋ ํจ๋น์ด๊ฐ ํ์ณ์ฌ ๋ณด์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๊ณ , ๋ค์ ์ค์๋ ํ์ณ์ฌ ๋ณด์๋ค์ ๋ฌด๊ฒ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ์์ค.
|
โ ๋ด ํ์ด
- ์์ ์ฐพ๊ธฐ - ์ ๊ณฑ๊ทผ๊น์ง๋ง ํ์ธํ๋ฉด ๋จ!
- ์์ธ์ ๋ถํด - 1๊ณผ ์๊ธฐ ์์ ์ ์ ์ธํ๊ณ ์ฐพ์
weight = int(input())
jewels = []
while weight > 1:
for i in range(2, int(weight**0.5)+1):
if weight%i == 0:
jewels.append(i)
weight = weight//i
break
else:
jewels.append(weight)
break
jewels = sorted(jewels)
print(len(jewels))
print(' '.join(map(str, jewels)))
๋ฐ์ํ
'Dev > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PS] 1090 ์ฒด์ปค (0) | 2024.09.24 |
---|---|
[PS] 1764 ๋ฃ๋ณด์ก (0) | 2024.09.20 |
[PS] 11723 ์งํฉ (0) | 2024.09.20 |
[Python] ๋ฏธ์ธ ํ (0) | 2022.05.13 |
[Python] ์์คํค ์ฝ๋(ASCII) โ๏ธ ๋ฌธ์ ๋ณํ (0) | 2022.05.13 |