1022 D进制的A+B (20)(20 分)
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103
除基取余法
#include<stdio.h>
int main()
{
int A,B,D;
scanf("%d %d %d",&A,&B,&D);
int S = A + B,n=0,a[31];//因为题目A+B<=2^30-1,所以数组大小最多就是29
do{
a[n++] = S % D;
S /= D;
}while(S!=0);
for(int i = n-1;i>=0;i--){
printf("%d",a[i]);
}
return 0;
}