输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
分析:
对于十进制转为N进制的具体过程不再阐述
需要注意的是几个特例:
需要转的数为0
需要转为十进制,这时不需要操作,可直接返回原数
1 //c++
2 #include<iostream>
3 using namespace std;
4
5 int main(){
6 long A,B,sum;
7 int res[40]={0};
8 int D;
9 cin>>A>>B>>D;
10 sum=A+B;
11 if(sum==0){//这个是个特例,有一个测试点卡这个位置
12 cout<<0<<endl;
13 return 0;
14 }
15 if(D==10){
16 cout<<sum;
17 return 0;
18 }
19 int i=0;
20 while(sum){
21 res[i++]=sum%D;
22 sum/=D;
23 }
24 for(i--;i>=0;i--)
25 cout<<res[i];
26 return 0;
27 }