题目描述
输入两个非负十进制整数A和B (<=2^30 - 1)以及D(进制数),输出A+B的D(1<=D<=10)进制数
输入格式:
在一行中依次给出三个整数A、B和D(进制数)
输出格式:
A+B的D进制数
样例:
输入:123 456 8
输出:1103
解题思路:
先把A+B的十进制求得,进而转换为D进制,可以使用除基取余来实现求D进制
#include<iostream>
using namespace std;
int main() {
int A, B, D;
cin >> A >> B >> D;
int sum = A + B;
int result[31];
int i = 0;//余数的下标
while (sum != 0) {//使用除基取余来实现进制转换
result[i++] = sum % D;
sum /= D;
}
for (int j = i - 1; j >= 0; j--)
{
cout << result[j];
}
system("pause");
return 0;
}