作者:王大伟
Python爱好者社区唯一小编
博客:https://ask.hellobi.com/blog/wangdawei
前言
正文
输入两个非负10进制整数A和B(
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
输出样例:
解题思路:先计算A+B(此时为十进制),然后把结果转换为D进制,而十进制转换为D进制的过程可以使用“除基取余法”。
这里的"基",指的是要转换为的进制D,除基取余指的是每次将要转换的数除以D,将余数存储起来,得到的商继续除D,重复操作,直到最后商为零。
将所有的余数从后往前输出就可以得到新的进制数z。
举个栗子:
11除以2,商为5,余数为1
5除以2,商为2,余数为1
2除以2,商为1,余数为0
1除以2,商为0,余数为1
将余数从后往前输出,得到1011就是11的二进制数。
上代码:
注意点:
1.range()的步长、范围和反向输出
2.int的整除
3.列表的索引使用
4.input一次获取多个值与获取数据格式
5.print的默认格式改变
6.考虑特殊输入情况
光看不练,眼高手低可不好哦,动手敲代码吧~
欢迎评论指出文中错误、代码优化和提问~~~
小编的免费Python入门课程已经登场,等你来撩~
已经4000+小伙伴加入学习啦~
领取专属 10元无门槛券
私享最新 技术干货