当前位置: 代码迷 >> 综合 >> 1022. D进制的A+B (20) PAT
  详细解决方案

1022. D进制的A+B (20) PAT

热度:78   发布时间:2023-09-24 06:03:41.0

1022. D进制的A+B (20)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

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

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:
123 456 8
输出样例:
1103
//A+B 使用int保存也不会溢出
//只考虑进制转换即可 
#include <cstdio>
int trans[50]={0};
int size=0;int main(){int a,b,c,d;scanf("%d%d%d",&a,&b,&d);c=a+b;if(c==0){printf("0");return 0;}int r;while(c!=0){int temp;temp=c/d;trans[size++]=c-temp*d;c=temp;}	for(int i=size-1;i>=0;i--){printf("%d",trans[i]);}return 0;
}
注意处理A、B相加结果等于0的情况。