1022 D进制的A+B (20 分)
输入两个非负 10 进制整数 A 和 B (≤2^30−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
解题注意事项:
将手算过程还原成代码的题目,需要一些经验与实际计算的体会。
转换成D进制,就用该进制的值进行公约计算,不断除以该制其余数的倒序即为D进制数。
属于水题,做过一次之后应该就会,有点小套路而已~
#include<cstdio>
int main()
{
int A,B,D,i=0;
scanf("%d%d%d",&A,&B,&D);
int sum = A+B;
int v[31] = {0};
do
{
v[i] = sum%D;
sum/=D;
i++;
}
while(sum!=0);
for(int j = i-1; j>=0; j--)
printf("%d",v[j]);
return 0;
}