렌치 크기
시간 제한5초메모리 제한256 MB
출력된 소수에 대해 절삭, 올림, 반올림 중 하나로 일치하는 분모가 가장 작은 2의 거듭제곱 분수를 구합니다.
문제
피터는 공장에서 일한다. 나사와 너트, 볼트마다 맞는 렌치를 골라야 해서 렌치 크기 목록을 살펴본다. 렌치 크기는 미국 관용 단위계를 따라 13/16", 3/8"처럼 인치의 분수로 적는다. 같은 크기를 소수로도 적는다. 13/16"는 0.8125"다.
부품 자료표는 이 소수를 제각각 어림해서 근삿값만 적어 둔다. 어림하는 방식에 따라 13/16"가 0.812로도, 0.813으로도, 0.81로도 적힌다.
피터가 찾는 렌치의 크기는 A/B"이고 A는 양의 정수, B는 2의 거듭제곱이다. 자료표에 적힌 소수가 주어질 때 분모 B가 가능한 가장 작은 2의 거듭제곱이 되는 렌치 크기를 구하라.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다 (1 ≤ T ≤ 100).
다음 T개의 줄에는 자료표에 적힌 렌치 크기를 나타내는 소수가 한 줄에 하나씩 주어진다. 소수점 아래는 최대 여섯 자리다. 소수점이 없을 수도 있고 소수점 뒤에 숫자가 없을 수도 있으며 소수점 앞에 숫자가 없을 수도 있다. 입력값은 0보다 크다.
출력
각 테스트 케이스마다 렌치 크기를 한 줄에 출력한다.
d를 그 줄의 소수점 아래에 적힌 자리 수라고 하자. 뒤에 붙은 0도 자리 수에 넣고, 소수점 아래에 숫자가 없으면 d는 0이다. B는 다음 조건을 만족하는 가장 작은 2의 거듭제곱이다. A/B의 정확한 소수 표현을 소수점 아래 d자리까지 올림, 버림, 반올림 중 한 가지 방식으로 처리한 값이 입력값과 같은 양의 정수 A가 존재한다.
A/B를 기약분수라고 하자. B가 1이면 A"를 출력한다. B가 1보다 크면 A를 B로 나눈 몫 q와 나머지 r로 대분수를 만들어, q가 0이면 r/B"를, q가 0보다 크면 q r/B"를 출력한다. 마지막 글자는 인치를 뜻하는 큰따옴표다.
렌치 크기는 10인치 이하이고, 조건을 만족하는 128 이하의 2의 거듭제곱이 항상 있다. 이렇게 정해지는 A와 B는 유일하다.