Description
B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오.
10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35
Input
첫째 줄에 테스트케이스 T가 주어진다(1 <= T <= 50).
그 다음 줄부터 T줄 만큼 N과 B가 주어진다. (2 ≤ B ≤ 36)(N이 십진수보다 큰 진수의 수인 경우 알파벳은 항상 대문자로만 입력된다.)
B진법 수 N을 10진법으로 바꾸면 정수부는 항상 1000조 미만이며, 입력되는 숫자의 소숫점 이하 자리수는 최대 20이다.
(단, 정수부가 0으로 시작하는 B진법의 수는 입력되지 않는다.)
Output
각 테스트케이스별로 한 줄에 하나씩 B진법 수 N을 10진법으로 변환한 결과를 출력한다.
소숫점이 포함된 10진수는 소수점 이하 10번째 자리까지만 출력한다.
2
ZZZZZ 36
101101.10111 2
HINT
1. 정수부와 소수점 이하 부분을 모두 고려하면 20자리 이상의 정밀도가 요구되므로 정수부와소수점 이하 부분을 따로 계산하여 각각 보관한 후 두 값을 이이서 출력해야 전체 정밀도를 유지할 수 있습니다.
2. 이 때 sprintf() 함수를 사용하여 변환된 소수점 이하 부분을 보관해 두면 조금 더 편리합니다.