输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
C语言实现
#include <stdio.h>
int main() {
char res[32] = {0};
int a, b, d, sum, cnt = 0;
scanf("%d %d %d", &a, &b, &d);
sum = a + b;
do {
res[cnt++] = sum % d;
sum /= d;
} while (sum);
for (int i = cnt - 1; i >= 0; --i) {
printf("%d", res[i]);
}
return 0;
}
思路
有输入两个数的范围可知,和的范围在以内,所以可用int表示。求出和再以d进制输出即可。边界情况0 + 0的和为0,所以使用do...while比较方便