输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
前两天刚好帮一个朋友看了类似题的代码,又碰上这道题很快就写完了。主要就是把一个整数N分解,as follows:
#include<iostream>
#include<stack>
using namespace std;
int main(){
int A, B, D, sum, r;
stack<int> s;
cin >> A >> B >> D;
sum = A + B;
if(sum == 0){
s.push(0);
}
else{
while(sum > 0){
s.push(sum % D); //求a
sum /= D; //降幂, 删掉a, 此时b就成为了a
}
}
while(!s.empty()){
cout << s.top();
s.pop();
}
}