时间限制 1000 ms
内存限制 32768 KB
代码长度限制 100 KB
题目描述
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入描述:
输入在一行中依次给出3个整数A、B和D。
输出描述:
输出A+B的D进制数。
输入例子:
123 456 8
输出例子:
1103
进制转换的问题一般采用栈实现。本文给出的解法使用string拼接实现。
贴代码:
#include <iostream>
#include <string>
using namespace std;
string ten2D(int sum, int D)
{
string res = "";
while(sum != 0)
{
res = char(sum % D + '0')+ res;
sum /= D;
}
return res;
}
int main(void)
{
int A, B, D;
cin>>A>>B>>D;
cout<<ten2D(A + B, D)<<endl;
return 0;
}