1022 D进制的A+B (20分)
输入两个非负 10 进制整数 A 和 B (≤2 30 −1),输出 A+B 的 D (1<D≤10)进制数。
输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式: 输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
思路分析:首先写一个进制转换函数:大致思路就是用除基取余法将余数不断保存在数组当中。然后逆序输出即可
代码时间:`
#include <iostream>
using namespace std;
int s[100],num=0;;
void getnum(int n,int d)
{
num=0;
while(n!=0)
{
s[num++]=n%d;
n/=d;
}
}
int main()
{
int a,b,d;
cin>>a>>b>>d;
int t=a+b;
if(t==0)
{
cout<<0;
return 0;
}
getnum(t,d);
for(int i=num-1; i>=0; i--)
{
cout<<s[i];
}
return 0;
}