进制 (whatbase.*)

进制 (whatbase.*)

【题目描述】
Bessie 在社区大学上电脑课,她最近对于进制数非常感兴趣。
回想一下,一个数被写成B 进制,那么这个数从右到左每位表示1;B^1;B^2;B^3, 如此下去。例如,在我们所熟悉的十进制系统下,我们用每位数字分别表示1,10,100,1000,以此类推。如果数字1234 被理解成10 进制,那么它其实应该表示的是1*(1000) + 2*(100) + 3*(10) + 4*(1)。如果相同的数字被理解成5 进制,那么它意味着1*(125) + 2*(25) + 3*(5) + 4*(1),转换成十进制是19 。Bessie 注意到如果进制增加,相同数字串表示的值也增大,比如;1234 在7 进制下的值比1234 在6 进制下的值要大。
当在B 进制下写数字的时候,每位数字的范围都是0..B-1,就比如在十进制下每位数的范围是0..9,在5 进制下是0..4. 考虑进制数大于10 是完全可能的。计算机科学家们常常使用16 进制,A..F 分别表示值10..15. 例如,BEEF 在16 进制下对应11(4096) + 14(256) + 14(16) + 15,对应10 进制下的48879.
Bessie 被“进制数可以大于10”这个概念所深深地迷住。她拿过一个数字N 并且在X 进制和Y 进制两个进制下分别写出,X 和Y 的范围是10≤x,y≤15000。 有趣的是,在每种情况下,她拿到一个有3 个数字的数字串,每位数字只有0..9。不幸的是,由于Bessie 记性很差,她现在已经忘记了N、X和Y。给两个3 位数字,请帮助她找出使用过的X 和Y。
【输入格式】
第一行一个整数K,表示有k个测试数据,k≤100。
接下来K 行,每行一个测试数据。每对测试数据包含两个3 位数字。第一个数字表示N 被写成X 进制,第二个数表示N被写成Y 进制。(N,X 和Y 对于每个测试数据都可能不同)。
【输出格式】
K 行,每行两个整数。和测试数据对应的X 和Y,两个数字用空格隔开。
对于每个测试数据,保证有唯一的答案。
【样例输入】
1

419 792
【样例输出】
47 35
【样例解释】
数是8892。写成47进制是419。写成35进制是792。