[NOIP2000 提高组] 进制转换
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目背景
NOIP2000 提高组 T1
题目描述
我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 为底数的幂之和的形式。例如 可表示为 这样的形式。
与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 为底数的幂之和的形式。
一般说来,任何一个正整数 或一个负整数 都可以被选来作为一个数制系统的基数。如果是以 或 为基数,则需要用到的数码为 。
例如当 时,所需用到的数码是 ,这与其是 或 无关。如果作为基数的数绝对值超过 ,则为了表示这些数码,通常使用英文字母来表示那些大于 的数码。例如对 进制数来说,用 表示 ,用 表示 ,用 表示 ,以此类推。
在负进制数中是用 作为基数,例如 (十进制)相当于 (进制),并且它可以被表示为 的幂级数的和数:
$$(110001)_{-2}=1\times (-2)^5+1\times (-2)^4+0\times (-2)^3+0\times (-2)^2+0\times (-2)^1 +1\times (-2)^0 $$设计一个程序,读入一个十进制数和一个负进制数的基数,并将此十进制数转换为此负进制下的数。
输入格式
输入的每行有两个输入数据。
第一个是十进制数 。第二个是负进制数的基数 。
输出格式
输出此负进制数及其基数,若此基数超过 ,则参照 进制的方式处理。
30000 -2
30000=11011010101110000(base-2)
-20000 -2
-20000=1111011000100000(base-2)
28800 -16
28800=19180(base-16)
-25000 -16
-25000=7FB8(base-16)
提示
数据范围
对于 的数据,,。
欢庆寒假赛(ノ^_^)ノ
- Status
- Done
- Rule
- IOI
- Problem
- 3
- Start at
- 2024-12-27 18:30
- End at
- 2024-12-27 21:00
- Duration
- 2.5 hour(s)
- Host
- Partic.
- 19