유리수 비
면접 대비시간 제한2초메모리 제한512 MB
소수점 오른쪽 마지막 자리 일부가 순환하는 소수를, 두 정수의 차로 분수로 바꾸어 기약분수 형태로 출력한다.
문제
모든 양의 유리수는 두 양의 정수의 비로 나타낼 수 있다. 그러나 소수로 나타내면 유리수는 종종 무한히 반복되는 패턴을 가진다. 예를 들어 이다. 이 반복 패턴을 간편하게 쓰는 방법은 반복되는 부분이 처음 나타나는 곳 위에 막대를 긋는 것이다. 따라서 은 다음과 같이 쓴다.
일련의 숫자, 소수점, 그 뒤의 숫자들, 그리고 오른쪽 끝에서 몇 개의 숫자가 반복되는지를 나타내는 수(즉, 막대 아래에 있는 숫자의 개수)가 주어질 때, 같은 유리수를 나타내는 두 정수의 비를 가장 간단한 형태로 구하라. 예를 들어 입력 "0.142857 6"에 대해서는 을 구해야 한다.
입력
입력은 공백 하나로 구분된 두 수가 있는 한 줄이다. 첫 번째 수는 1에서 3개의 숫자(0-9), 소수점, 1에서 11개의 숫자(0-9)로 이루어지며, 앞에 0이 올 수 있는 소수 형태의 수를 나타낸다. 두 번째 수는 앞의 수에서 오른쪽 끝의 몇 개의 숫자가 반복되는지를 나타내는 양의 정수이다. 첫 번째 수는 항상 0보다 크다. 두 번째 수는 1보다 작지 않고, 소수점 오른쪽의 숫자 개수보다 크지 않다.
출력
해당 분수를 가장 간단한 형태, 즉 분자와 분모의 정수 값이 가능한 한 가장 작은 분수로 출력한다.