10진법으로 표현된 정수 N을 특정한 r진법으로 표현하는 것은 매우 쉽다. 하지만 정수 N 과 N을 어떤 진법으로 변환한 결과 T를 알고 있을 때 변환에 사용된 진법 r을 알아내는 것은 어려울 수 있다.
정수 N과 N을 어떤 진법으로 변환한 결과 T가 주어질 때, r을 구하여 출력하시오
첫째 줄에 정수 V과 을 '진법으로 변환한 결과 T가 공백을 두고 주어진다.
• 1 ≤ N ≤ 2 X 10^9
• T는 알파벳 대문자 A ~ F를 포함하고 있을 수 있으며, 각각 10부터 15까지의 정수에 일대일로 대응된다.
• 2 ≤ r ≤ 16
• 항상 진법 변환이 가능한 입력만 주어진다.
첫째 줄에 N을 T로 변환하는데 사용된 r을 출력한다
입력
123 123
출력
6
입력
4576 3490
출력
11
입력
1234567890 1001001100101100000001011010010
출력
2
입력
7 7
출력
8
// Run by Node.js
// 10진법으로 표현된 정수 N
// Nr = T
// r은 몇 진법인지 찾으시오
const readline = require('readline');
(async () => {
let rl = readline.createInterface({ input: process.stdin });
let input = [];
for await (const line of rl) {
input.push(line.trim())
rl.close();
}
// N과 T에 각각 입력으로 들어온 정수와 진법 변환의 결과를 넣어준다
let [N, T] = input[0].split(' ');
// 2진법에서 16진법까지 반복
for (let i = 2; i <= 16; i++) {
// toString은 숫자에만 쓸 수 있기에 숫자로 바꿔주고, toString으로
// 문자열이 된 N을 대문자로 통일해줘서 결과와 비교해준다.
if (Number(N).toString(i).toUpperCase() === T.toUpperCase()) {
console.log(i);
break;
}
}
})();