1 /*
2 题目描述
3 输入两个非负十进制整数A和B(<=2^30-1)以及D(进制数),
4 输出A+B的D(1 < D <= 10)进制数。
5
6 输入格式
7 在一行中依次给出三个整数A, B和D(进制数)。
8
9 输出格式
10 A+B的D进制数
11
12 输入样例
13 123 456 8
14
15 输出样例
16 1103
17
18 思路
19 先计算A+B(此时为十进制),然后把结果转换为D进制,
20 而十进制转换为D进制的过程可以直接进行“除基取余法”。
21 */
22
23 #include <iostream>
24 #include <stdio.h>
25 using namespace std;
26
27 int main()
28 { int a,b,d;
29 scanf("%d%d%d",&a,&b,&d);
30 int sum=a+b;
31 int ans[31],num=0; //ans存放D进制的每一位
32 do{ //进制转换
33 //t=sum%d;
34 //printf("%d",t);
35 ans[num++]=sum%d;
36 sum/=d;
37 } while (sum!=0); //num最终等于4
38 for(int i=num-1;i>=0;i--) //从高位到低位进行输出
39 printf("%d",ans[i]);
40 return 0;
41 }