1022 D进制的A+B (20 分)

1022 D进制的A+B (20 分)

输入两个非负 10 进制整数 A 和 B (230​​1),输出 A+B 的 D (1<D10)进制数。

输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103


十进制数a转成b进制数a/b
怎么转换呀。
就三步。
1.将a%b保存到数组

2.a/b
3.当a==0时结束,然后数组从后往前输出

两个测试点的事情:
考虑 和为0 的情况,不然
第三个测试点不过
数组开大点,否则第二个测试点不过



代码如下:
 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6     long long a,b,c;
 7     int d,i=0;
 8     int e[33];
 9     cin>>a>>b>>d;
10     c=a+b;
11     if(c==0){
12         cout<<"0";
13         return 0;
14     }
15     while(c!=0){
16         e[i++]=c%d;
17         c/=d;
18     }
19     for(int j=i-1;j>=0;j--)
20         cout<<e[j];
21     return 0;
22  } 






原文地址:https://www.cnblogs.com/xx123/p/10348992.html