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
类似10进制的分解每一位数字,代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
int A,B,D,sum=0,i=0,j=0;
int number[100]={};/*转换成2进制最多可能有32位,所以给个100的数组足够*/
scanf("%d %d %d",&A,&B,&D);
sum=A+B;
while(sum!=0)
{
number[i]=sum%D;
sum=sum/D;
i++;
}
for(j=i-1;j>=0;j--)
{
printf("%d",number[j]);
}
if(i==0)/*没有进入过循环,即A+B=0*/
{
printf("0");
}
return 0;
}