분수찾기
import sys
def main():
input = sys.stdin.readline
x = int(input()) - 1
i = 0
y = 0
while y <= x:
i += 1
y += i
if i % 2 == 0:
b = y - x
a = i + 1 - b
else:
a = y - x
b = i + 1 - a
print(f"{a}/{b}")
main()
1번 분수부터 시작하여 배열에 왼쪽 아래를 향하는 대각선을 그으면, $i (i \ge 0)$번째 대각선 아래에 있는 분수 $a/b$들은 모두 $a+b=i+1$임을 관찰할 수 있습니다. 이를 이용하여, 입력받은 $n$번째 분수가 몇 번째 대각선에 있는지를 먼저 구합니다. 그리고 그 대각선의 번호가 짝수인지 홀수인지에 따라서 분자와 분모를 구합니다.
댓글