P1017 进制转换 (洛谷)

进制转换 (洛谷 P 1017 P1017 P1017题)

题解来了,如果有错尽管批评指正,我会努力修改的首先就是我们一点都不可爱的题目传送门了,接下来是枯燥的题目描述,收揽的同学可以继续往下看,如果想先尝试一下,可以先点蓝色的字,然后做一下,如果做对了,恭喜你,你就不用看了,如果做错了或者没做,那么就看一下吧

题目描述

我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 10 10 10为底数的幂之和的形式.例如 123 123 123可表示为 1 × 1 0 2 + 2 × 1 0 1 + 3 × 1 0 0 1 \times 10^2+2\times 10^1+3\times 10^0 1×102+2×101+3×100这样的形式.

与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 2 2 2为底数的幂之和的形式.

一般说来,任何一个正整数 R R R或一个负整数 − R -R R都可以被选来作为一个数制系统的基数.如果是以 R R R − R -R R为基数,则需要用到的数码为 0 , 1 , . . . . R − 1 0,1,....R-1 0,1,....R1.

例如当 R = 7 R=7 R=7时,所需用到的数码是 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,6 0,1,2,3,4,5,6,这与其是 R R R − R -R R无关.如果作为基数的数绝对值超过 10 10 10,则为了表示这些数码,通常使用英文字母来表示那些大于 9 9 9的数码.例如对 16 16 16进制数来说,用 A A A表示 10 10 10,用 B B B表示 11 11 11,用 C C C表示 12 12 12,以此类推.

在负进制数中是用 − R -R R作为基数,例如 − 15 -15 15(十进制)相当于 110001 110001 110001( − 2 -2 2进制),并且它可以被表示为 2 2 2的幂级数的和数:

110001 = 1 × ( − 2 ) 5 + 1 × ( − 2 ) 4 + 0 × ( − 2 ) 3 + 0 × ( − 2 ) 2 + 0 × ( − 2 ) 1 + 1 × ( − 2 ) 0 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 110001=1×(2)5+1×(2)4+0×(2)3+0×(2)2+0×(2)1+1×(2)0

设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数.

输入输出格式

输入格式

输入的每行有两个输入数据。
第一个是十进制数 n n n.
第二个是负进制数的基数 − R -R R.

输出格式

输出此负进制数及其基数,若此基数超过 10 10 10,则参照 16 16

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值