输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103
//此题应注意a+b=0的情况,否则有测试点过不去
//10进制转为d进制,可以用10除以d,把商作为结果继续除以d直到为0,每一步的余数作为结果倒序抄下来
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
int tmp[1000] = {0};//数组存放结果
int i = 0;
cin >> a>>b>>d;
c = a + b;
if(c)//如果c不是零
{
do
{
tmp[++i] = c%d;
c = c/d;
}while(c);
for (int j = i ;j >0 ;j--)
cout << tmp[j] ;//数组倒序输出
}else
cout << 0;
return 0;
}
本文介绍了一个简单的程序,用于将两个非负10进制整数相加后的结果转换为指定的D进制数。通过不断除以目标进制数并记录余数的方式实现转换,适用于D值在1到10之间的场景。
928

被折叠的 条评论
为什么被折叠?



