一、 题目
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
二、代码
#include <iostream>
#include<vector>
#include <algorithm>
#include<stack>
using namespace std;
int main() {
int a, b, d;
cin >> a >> b>>d;
int sum = a + b;
stack<int> s;
do {
s.push(sum% d);
sum = sum / d;
} while (sum != 0);
do {
cout << s.top();
s.pop();
} while (!s.empty());
}
三、分析
1.读题分析:非负10进制整数,很大的整数,整数求和,进制转换
2.进制转换规则,除以D(2,8)取余,逆序排列。——>stack特性,后进后出