๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/๊ตฌํ˜„

[๋ฐฑ์ค€]1193๋ฒˆ: ๋ถ„์ˆ˜์ฐพ๊ธฐ

by syLim___ 2023. 5. 4.
728x90

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๋กœ ์ œ์ถœํ•ด์•ผ ์ •๋‹ต ํŒ์ •์„ ๋ฐ›์•˜๋‹ค.

 

 

728x90