【题目描述】
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
【输入格式】:
输入在一行中依次给出3个整数A、B和D。
【输出格式】:
输出A+B的D进制数。
【输入样例】:
123 456 8
【输出样例】:
1103
思路:先计算A+B(此时为十进制),然后把结果转换成D进制,而十进制转换为D进制进行“除基取余法”
AC代码:
“`
include
int main(){
int a,b,d;
scanf(“%d%d%d”,&a,&b,&d);
int sum=a+b;
int ans[31],num=0; //ans存放D进制的每一位
do{ //进制转换
ans[num++]=sum%d;
sum=sum/d;
}while(sum!=0);
for(int i=num-1;i>=0;i–){ //从高位到低位进行输出
printf(“%d”,ans[i]);
}
return 0;
}
更多的请查看我的个人博客:https://beatjerome.github.io