輸入兩個非負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
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])返回截掉字串左邊的空格或指定字元後生成的新字串。
#!/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
D進製的A B
原題描述 輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣例 123 456 8輸出樣例 1103解題關鍵 需要知道這道題的主要解題思想是 如何將十進位制數轉化為八進位制數,與將...
1022 D進製的A B
輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣例 123 456 8輸出樣例 1103 按照進製轉換的公式,得出的餘數要反過來輸出。所以要先把計算出的餘數儲存在陣列中,但是陣列...
1022 D進製的A B
分析 其實就是把十進位制數a b的和轉換為d進製數 模擬十轉二的除基取餘法 思路 為了防止不必要的麻煩,a和b還是用long吧 除基取餘 將a b的和除以d,取每次的餘數,直到商為0 不能直接輸出餘數,這樣是反的。放在乙個陣列裡倒著輸出 include using namespace std int...