适合初步练习PAT乙级——(1022)D进制的A+B
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
#include<iostream>
using namespace std;
int main() {
int a=0, b=0, d=0;
scanf("%d %d %d", &a, &b, &d);
int t = a + b;
if (t == 0) {
printf("0");
return 0;
}
int s[100] = { 0 };
int i = 0;
while (t!= 0) {
s[i] = t % d;
t = t / d;
i++;
}
for (int j = i - 1; j >= 0; j--)
printf("%d", s[j]);
return 0;
}
思路:设t=a+b,将每一次t%d的结果保存在int类型的数组s中,然后将t/d,直到t等于0为止,此时s中保存的就是t在D进制下每一位的结果的倒序,最后倒序输出s数组。
来源:CSDN
作者:四果汤
链接:https://blog.csdn.net/qq_43502020/article/details/104320375