技术 | Python从零开始系列连载(二十四)-阿里云开发者社区

开发者社区> 大数据> 正文

技术 | Python从零开始系列连载(二十四)

简介:

D进制的A+B

输入两个非负10进制整数A和B(<=2^30-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

输入在一行中依次给出3个整数A、B和D。

输出格式:

输出A+B的D进制数。

输入样例:


123 456 8

输出样例:


1103

解题思路:先计算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的二进制数。

上代码:

d9fefc6ff298fe56c33fc84ecf20630ef1418305

注意点:

1.range()的步长、范围和反向输出

2.int的整除

3.列表的索引使用

4.input一次获取多个值与获取数据格式

5.print的默认格式改变

6.考虑特殊输入情况


原文发布时间为:2018-08-24

本文来自云栖社区合作伙伴“灯塔大数据”,了解相关信息可以关注“灯塔大数据”。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章