PAT-B 1022 D进制的A+B
https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344
题目
输入两个非负 10 进制整数 A 和 B (≤2^30−1),输出 A+B 的 D (1<D≤10)进制数。
输入
输入在一行中依次给出 3 个整数 A、B 和 D。
输出
输出 A+B 的 D 进制数。
样例输入
123 456 8
样例输出
1103
分析
简单进制转换,程序使用递归函数实现,具体看程序。
C++程序
#include<iostream>
using namespace std;
//将十进制整数n转换成base进制
void convert(int n,int base)
{
if(n)
{
convert(n/base,base);
char c=(n%base>9)?('A'+n%base-10):('0'+n%base);
printf("%c",c);
}
}
int main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&d);
c=a+b;
if(c==0)
printf("0");
else
convert(c,d);
return 0;
}