#T0060. [NOIP2000 提高组] 进制转换
0
[NOIP2000 提高组] 进制转换
题目描述
我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 10 为底数的幂之和的形式。例如 123 可表示为 这样的形式。
与之相似的,对二进制数来说,也可表示成各个数位上数字乘以 2 的若干次幂之和的形式。
一般地,对一个基数 R,R 的 R 次幂排列为 R^0,R^1,R^2,…。而一个 R 进制数就要在各位上选用 0 到 R−1 的数字。
但这里我们要介绍的是一种“负进制”。对于一个负基数 -R,我们称它为 -R 进制。此时,一个数在 -R 进制下的各位数字仍需满足 0≤d≤R−1。例如对 -2 进制(二进制)来说,各位数字只能取 0、1;对 -16 进制来说,各位数字可取 0 到 9 以及 A 到 F。
现在给定一个十进制整数 N 和一个负整数 R,请你编写程序,将 N 转换为以 R 为基数的负进制表示。
输入格式
一行两个整数,N 和 R。,。
输出格式
输出这个负进制数(字母用大写),并在同一行输出该数的进制形式 (baseR)。参见样例。数据保证结果中不产生前导零(结果为 0 时输出单个 0)。
样例输入 #1
28800 -16
样例输出 #1
28800=19180(base-16)
样例输入 #2
-20000 -2
样例输出 #2
-20000=1111011000100000(base-2)
数据范围
,。
冀公网安备13098402000493号