1022 D进制的A+B (20 分)
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
#include <iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
int main()
{
int a,b;
int c,d;
int num,k;
int temp[100];
k=0;//计数
scanf("%d %d %d",&a,&b,&num);
//可以用递归
c=a+b;
if(c==0){
printf("0");
}
while(c){
d=c%num;
c=c/num;
temp[k]=d;
k++;
}
for(int i=k-1;i>=0;i--){
printf("%d",temp[i]);
}
}
简单的转换进制,如果A,B值继续增大的话可以用python
测试样例里有两个是8进制的,还有一个案例需要的数组是20位以上,但递归输出的不需要考虑这个问题,正当中的测试案例输出是0.