본문 바로가기
코딩테스트/[python]백준

[python] 백준 1193 : 분수찾기

by o_oo 2022. 3. 19.

서론

없음.


문제

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net


무한히 큰 배열에 다음과 같이 분수들이 적혀있다.

1/1 1/2 1/3 1/4 1/5
2/1 2/2 2/3 2/4
3/1 3/2 3/3
4/1 4/2
5/1

이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.

X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

출력

첫째 줄에 분수를 출력한다.


나의 풀이

X=int(input())
a=b=0
while 1:
    b+=a
    if b>=X:
        if a%2==1: print(f'{b-X+1}/{a+X-b}')
        else: print(f'{a+X-b}/{b-X+1}')
        break
    a+=1

초라한 나의 코드. 수학적인 식을 별로 적용하지 못했다.

참고만 하시길.


+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!

댓글