주어진 분수를 소수점 아래 반복되지 않는 부분과 괄호로 묶은 반복 블록으로 출력합니다.
보통5해시맵수학시뮬레이션면접 대비아직 제출이 없습니다시간 제한1초메모리 제한256 MB모든 유리수는 어느 자리부터 같은 숫자열이 끝없이 되풀이되는 순환소수로 적을 수 있다.
31=93=0.3333333⋯=0.3
71=999999142857=0.14285714285714⋯=0.142857
143=99999902142855=0.2142857142857⋯=0.2142857
위 식에서 분모가 9와 0으로만 이루어진 것을 보면 알 수 있듯이, 순환소수를 분수로 바꾸는 방법은 공식으로 정리되어 있다. 반대로 아무 분수나 주어졌을 때 그 공식을 그대로 쓰기는 어렵다. 그래서 분수를 순환소수로 바꿀 때는 보통 나눗셈을 반복한다. 손으로 하기에는 품이 많이 드는 일이니, 이 계산을 대신 해 주는 프로그램을 작성하라.
첫 줄에 테스트 케이스의 수 T (1≤T≤15000)가 주어진다.
이어지는 T개 줄에 각각 분자 a와 분모 b가 공백으로 구분된 정수로 주어진다. 0≤a<1024, 0<b<1024이다.
각 테스트 케이스마다 a/b의 순환소수를 한 줄에 하나씩 출력한다.
정수 부분, 소수점, 순환하지 않는 소수 부분, 괄호로 감싼 순환 마디를 차례로 이어 쓴다. 순환하지 않는 부분이 비어 있으면 소수점 바로 뒤에 여는 괄호가 온다. 나눗셈이 딱 떨어져 소수 부분이 유한한 경우에도 그 뒤로 0이 끝없이 반복되므로 (0)을 붙인다. 순환하지 않는 부분과 순환 마디는 각각 가능한 가장 짧은 것으로 정한다.