PAT (Basic Level) Practice (中文)1022 D进制的A+B

时间:2023-03-10 07:20:26
PAT (Basic Level) Practice (中文)1022 D进制的A+B

1022 D进制的A+B

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

输入格式:

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

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

代码:

#include<stdio.h>
int fun(int *arr,long long n,int D) {
int t=0;
while(n)
{
arr[t++]=n%D;
n=n/D;
}
return t;
}
int main()
{
long long A,B;
int D;
int i;
int arr[10000];
scanf("%lld %lld %d",&A,&B,&D);
if(A+B==0) printf("0\n");
else{
int temp=fun(&arr,A+B,D);
for(i=temp-1;i>=0;i--)
{
printf("%d",arr[i]);
}
printf("\n");
}
return 0;
}