链接:https://www.nowcoder.com/questionTerminal/52fee0e0ffc44d258b8f940184017c00
来源:牛客网
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数
输入描述:
输入在一行中依次给出3个整数A、B和D。
输出描述:
输出A+B的D进制数。
示例1
输入
123 456 8
输出
1103
方法一:最基本的方法,辗转相除
a, b, d = map(int, input().split())
sum = a + b
quotient = 1
mods = []
while quotient != 0: #辗转相除直到商为零
quotient = sum // d
mods.append(str(sum%d))
sum = quotient
mods.reverse()
print("".join(mods))
方法二:递归
#author:华科平凡
def baseN(num, b):
return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])
a, b, c = map(int, input().split())
print(baseN(a + b, c))
tips:
Python lstrip() 方法用于截掉字符串左边的空格或指定字符。
语法
lstrip()方法语法:
str.lstrip([chars])
参数
- chars --指定截取的字符。
返回值
返回截掉字符串左边的空格或指定字符后生成的新字符串。
#!/usr/bin/python
str = " this is string example....wow!!! ";
print str.lstrip();
str = "88888888this is string example....wow!!!8888888";
print str.lstrip('8');
#output
this is string example....wow!!!
this is string example....wow!!!8888888