D進製的A B

2021-09-26 23:30:32 字數 1233 閱讀 7310

輸入兩個非負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...