输入两个非负 10 进制整数 A 和 B (≤−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
进制转换问题过程:
对于一个P进制的数,如果要转换为Q进制,需要分为两步:
①将P进制数x转换为十进制数y。
int y=0,product=1;
while(x!=0)
{
y=y+(x%10)*product;
x/=10;
product=product*P
}
②将十进制数y转换为Q进制数z
int z[40],num=0;
do{
z[num++]=y%Q;
y/=Q;
}while(y!=0);
1022题代码如下:
#include<iostream>
using namespace std;
int main()
{
int A,B;
int D;
cin>>A>>B>>D;
int sum=A+B;
int z[40],num=0;
do{
z[num++]=sum%D;
sum/=D;
}while(sum!=0);
for(int i=num-1;i>=0;i--)
cout<<z[i];
return 0;
}