题目
输入两个非负10进制整数A和B(<=2^30^-1),输出A+B的D (1 < D <=10)进制数。输入格式:
输入在一行中依次给出3个整数A、B和D。输出格式:
输出A+B的D进制数。输入样例:
123 456 8输出样例:
1103
解析
相加后用取余数的方法转换进制
代码
C++解法
#include <iostream> #include <string> #include <algorithm> using namespace std; string toD(int num, int D) { string ans = ""; do { ans += (num % D)+'0'; num /= D; } while (num != 0); reverse(ans.begin(),ans.end()); return ans; } int main() { int A, B, D; cin >> A >> B >> D; cout << toD(A + B, D) << endl; return 0; }
Python解法
def toD(num, D): ans = "" while 1: ans = str(num % D) + ans num //= D if num==0: break return ans (A, B, D) = [int(i)for i in input().split(" ")] print(toD(A + B, D))