题目描述:
输入两个非负 10 进制整数 A 和 B ( ≤ (2^30) − 1),输出 A+B 的 D (1 < D ≤ 10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
#include <iostream>
#include <stack>
using namespace std;
stack<int> getDNum(int Num,int D){
stack<int> s;
do {
s.push((Num % D));//取余
Num = Num / D;//除基
} while (Num != 0);
return s;
}
int main(){
int a,b,d,num;
cin >> a >> b >> d;
num = a + b;
stack<int> s = getDNum(num,d);
while (!s.empty()) {
cout << s.top();//栈为后入先出
s.pop();
}
cout << endl;
return 0;
}