题目描述: 输入两个非负的十进制数A和B,输出A+B的D进制数。
输入格式: 在一行输入三个整数A,B和D。
输出格式: 输出A+B的D进制数。
思路: 我们首先要计算出A+B的值,然后再用除基取余法进行进制转换。 除基取余法: 设置一个数组ans[]用来存放D进制的每一位,然后用sum进行除于D进行取余操作,余数存在数组ans中。最后再将ans从高位往低位输出即可。
代码实现:
#include <iostream>
using namespace std
;
int main()
{
int a
,b
,d
;
cin
>>a
>>b
>>d
;
int sum
=a
+b
;
int ans
[31],num
=0;
do{
ans
[num
++]=sum
%d
;
sum
=sum
/d
;
}while(sum
!=0);
for(int i
=num
-1;i
>=0;i
--)
cout
<<ans
[i
];
return 0;
}
运行结果: