https://www.acmicpc.net/problem/1193
1193๋ฒ: ๋ถ์์ฐพ๊ธฐ
์ฒซ์งธ ์ค์ X(1 ≤ X ≤ 10,000,000)๊ฐ ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋ถ์๋ค์ ์์ ๊ฐ์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ์ฝ๋๋ค๊ณ ํจ
๋ถ์๋ ๋ถ๋ชจ๋ ๋ฐ๋ก ์๊ฐํด๋ณด๋ฉด ๊ฐ๊ฐ ์๋์ ๊ฐ์ ์์ด์ ์ด๋ฃฌ๋ค
๋ถ์ : ( 1 ) ( 1 2 ) ( 3 2 1 ) ( 1 2 3 4 ) ( 5 4 3 2 1 ) ( 1 2 3 4 5 6 ) ...
๋ถ๋ชจ : ( 1 ) ( 2 1 ) ( 1 2 3 ) ( 4 3 2 1 ) ( 1 2 3 4 5 ) ( 6 5 4 3 2 1 ) ...
์ ๋ ๊ฒ ๋์ดํ๊ณ ๋๋๊น ๊ตฐ์์ด์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
๊ทธ๋์ ์์ ์ ์์ฑํด๋, ๊ตฐ์์ด์ n๋ฒ์งธ ํญ์ ๊ฐ์ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์ด์ง๋ง ์์ ํด์ ์ ์ถํ์๋ค.
(๊ตฐ์์ด ๊ฐ๋จํ ๊ฐ๋ ๊ณผ python์ฝ๋ ๋ณด๋ฌ๊ฐ๊ธฐ)
python ์ ๋ต ์ฝ๋
x = int(input())
flag = True
n = 1
nCnt = 1
den, num = 0, 0 # ๋ถ๋ชจ, ๋ถ์
while flag:
for i in range(1,n+1):
nCnt += 1
if nCnt > x:
if n%2 == 0:
den = i
num = n-i+1
else:
den = n-i+1
num = i
flag = False
break
n += 1
print('{}/{}'.format(den,num))
python3๋ก ์ ์ถํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋๊ณ , pypy3๋ก ์ ์ถํด์ผ ์ ๋ต ํ์ ์ ๋ฐ์๋ค.
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > ๊ตฌํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค]10972๋ฒ: ๋ค์ ์์ด / 10973๋ฒ: ์ด์ ์์ด (0) | 2023.05.09 |
---|---|
[๋ฐฑ์ค]17413๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ 2 (0) | 2023.05.09 |
[๋ฐฑ์ค]17478๋ฒ: ์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์? (0) | 2023.05.04 |
[๋ฐฑ์ค]4673๋ฒ: ์ ํ ๋๋ฒ (0) | 2023.05.01 |
[๋ฐฑ์ค]1966๋ฒ: ํ๋ฆฐํฐ ํ (0) | 2023.04.30 |