#1566. 负进制数

负进制数

题目描述

我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1\red {1})为指数,以10\red {10}为底数的幂之和的形式。例如:123\red {123}可表示为 1×100+2×10+3\red {1\times100+2\times 10+3}这样的形式。 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值1\red {-1})为指数,以2\red {2}为底数的幂之和的形式。一般说来,任何一个正整数r\red {r}或一个负整数r\red {-r}都可以被选来作为一个数制系统的基数。如果是以r\red {r}r\red {-r}为基数,则需要用到的数码为 0,1\red {0,1},....r1\red {r-1}。例如,当r=7\red {r=7}时,所需用到的数码是0,1,2,3,4,5,6\red {0,1,2,3,4,5,6},这与其是r\red {r}r\red {-r}无关。如果作为基数的数绝对值超过10\red {10},则为了表示这些数码,通常使用英文字母来表示那些大于9\red {9}的数码。例如对16\red {16}进制数来说,用A\red {A}表示10\red {10},用B\red {B}表示11\red {11},用C\red {C}表示12\red {12},用D\red {D}表示13\red {13},用E\red {E}表示14\red {14},用F\red {F}表示15\red {15}。 在负进制数中是用R\red {-R}作为基数,例如15\red {-15}(十进制)相当于11001\red {11001}2\red {2}进制),并且它可以被表示为2\red {2}的幂级数的和数: 110001=1×(2)5+1×(2)4+0×(2)3+0×(2)2+0×(2)1+1×(2)0\red {110001=1\times(-2)^5+1\times(-2)^4+0\times(-2)^3+0\times(-2)^2+0\times(-2) ^1+1\times(-2)^0} 设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数: R2,3,4,...,20\red {-R∈{-2,-3,-4,...,-20}}

输入格式

输入的每行有两个输入数据。第一个是十进制数N(32768N32767)\red {N(-32768≤N≤32767)}; 第二个是负进制数的基数R\red {-R}

输出格式

输出此负进制数及其基数,若此基数超过10\red {10},则参照16\red {16}进制的方式处理。

样例

输入样例

30000 -2

-20000 -2

28800 -16

-25000 -16

输出样例

30000=11011010101110000(base-2)

-20000=1111011000100000(base-2)

28800=19180(base-16)

-25000=7FB8(base-16)