[기본수학1] 분수찾기
2021. 2. 20. 12:00ㆍ백준
분수라는 말에 현혹되지 않고, x / y 형태의 숫자로 인식하면 편하다.
대각선으로 배치된 수의 합은 항상 같으므로 규칙성을 찾으면 된다.
2차월 배열 데이터를 1차원으로 변형해서 다루는 문제는 앞으로도 많이 나올 듯?
제출코드
target = int(input())
sum_x_y = 1
line_max = 0
while True:
sum_x_y += 1
if ((target * 2) - (sum_x_y*(sum_x_y-1))) <= 0:
line_max = (sum_x_y*(sum_x_y-1)//2)
break
line_diff = line_max - target
if sum_x_y % 2 == 0:
print(str(1 + line_diff)+"/"+str(sum_x_y-line_diff-1))
else:
print(str(sum_x_y - line_diff - 1) + "/" + str(1 + line_diff))