输入两个非负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 trans(long sum,int *res,int D);
int main()
{
long a,b,sum;
int D,i,len;
int res[100] = {0};
scanf("%ld%ld%d",&a,&b,&D);
sum = a+b;
if(sum==0) printf("0");
len = trans(sum,res,D);
for(i=len-1;i>=0;i--)
{
printf("%d",res[i]);
}
return 0;
}
/***********/
int trans(long sum,int *res,int D)
{
int rnum = 0;
int flag = 0;
while(sum!=0)
{
res[rnum++] = sum%D;
sum /= D;
flag++;
}
return flag;
}