[PAT乙级]1022 D进制的A+B

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PAT乙级]1022 D进制的A+B相关的知识,希望对你有一定的参考价值。

输入两个非负 10 进制整数 A 和 B (≤2​30​​−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:

输出 A+B 的 D 进制数。
输入样例:

123 456 8

输出样例:

1103

注意点:
考虑输入的两个数都是0的情况。

代码如下:

#include <iostream>
#include <stack>
using namespace std;

int main()
{
	stack<int>s;
	int a, b, d;
	cin >> a >> b >> d;
	int sum = a + b;
	while (sum)
	{
		int c = sum % d;
		sum = sum / d;
		s.push(c);
	}
	while (!s.empty())
	{
		cout << s.top();
		s.pop();
	}
	if (a == 0 && b == 0) cout << 0;
	cout << endl;
	return 0;
}

以上是关于[PAT乙级]1022 D进制的A+B的主要内容,如果未能解决你的问题,请参考以下文章

[PAT乙级]1022 D进制的A+B

PAT乙级1022.D进制的A+B(20 分)

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

PAT 乙级真题 1012.D进制的A+B

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

PAT乙级(Basic Level)真题训练