a,b的取值范围保证可以用32位的int来存它们的和(不会溢出)
然后转换成d进制即可。
代码:
#include <iostream>
#include <list>
using namespace std;
int main()
{
int a, b, d, sum;
list<int> ans;
cin >> a >> b >> d;
sum = a + b;
if (sum == 0)
{
cout << 0;
}
for ( ; sum != 0; sum /= d)
{
ans.push_front(sum % d);
}
for (auto it = ans.begin(); it != ans.end(); ++ it)
{
cout << *it;
}
return 0;
}