[pat乙]1022 D进制的A+B 原创

1022 D进制的A+B (20 分)

输入两个非负 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;


int main()
{
	int A, B, D;
	stack<int> ans;
	cin >> A >> B >> D;

	int sum = A + B;

	if (!sum)
		cout << '0';
	else
		while (sum)
			ans.push(sum % D), sum /= D;

	while (!ans.empty())
		cout << ans.top(), ans.pop();
}
posted @ 2023-02-27 17:20  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源