만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세퀴너리 숫자

면접 대비

시간 제한1초메모리 제한1024 MB

요약
세퀴나리 표기 수를 입력받아 그 값을 정수 또는 기약분수가 포함된 대분수로 출력합니다.
난이도

쉬움10점 중 3점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

세퀴너리 숫자는 숫자의 나열 dndn−1…d1d0d_n d_{n-1} \dots d_1 d_0이다. 여기서 dnd_n은 1 또는 2이고, 나머지 자리의 숫자는 0, 1, 2 중 하나이다. 이 숫자는 유리수 d0+d1⋅32+d2⋅(32)2+⋯+dn⋅(32)nd_0 + d_1 \cdot \frac{3}{2} + d_2 \cdot \left(\frac{3}{2}\right)^2 + \dots + d_n \cdot \left(\frac{3}{2}\right)^n를 나타낸다. 세퀴너리 숫자를 입력받아 그 숫자가 나타내는 값을 기약분수로 출력하는 프로그램을 작성하라.

입력

입력은 한 줄이며, 최대 32자리의 세퀴너리 숫자가 주어진다.

출력

한 줄을 출력한다. 결과가 정수이면 십진수 정수로 출력한다. 정수가 아니면 NN, 공백 한 칸, K/MK/M 순서로 출력한다. 여기서 NN, KK, MM은 십진수 정수이고, K<MK < M이며, K/MK/M은 기약분수(gcd⁡(K,M)=1\gcd(K, M) = 1)이다.

예제2

  1. 예제 1

    입력
    2101
    
    예상 출력
    10
    
  2. 예제 2

    입력
    201
    
    예상 출력
    5 1/2