1. 程式人生 > >1022 D進制的A+B

1022 D進制的A+B

math light stream int != 進制數 ram main base

輸入兩個非負 10 進制整數 A 和 B (≤),輸出 A+B 的 D (1)進制數。

輸入格式:

輸入在一行中依次給出 3 個整數 A、B 和 D。

輸出格式:

輸出 A+B 的 D 進制數。

輸入樣例:

123 456 8

輸出樣例:

1103

如果兩個數的和是0, 則輸出0(這一點比較坑......)需要特判!
#include <iostream>
#include <stack>
using namespace std;

int main()
{
	stack<long long int> s;
	long long int a, b, n;
	int d;
	cin >> a >> b >> d;
	
	n = a + b;
	
	if(n == 0)	cout << "0";	
	
	else
	{
		while(n != 0)
		{
			s.push(n % d);
			n /= d;
		}
		
		while(!s.empty())
		{
			cout << s.top();
			s.pop();
		}
	}
	
	return 0;
} 

  

1022 D進制的A+B