牛客网PAT 乙级真题 D进制的A+B (20)
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
输入两个非负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>
//小于2^30,所以一个long即可
int main()
{
long A,B;
int D,sta[100],top=-1; //手工栈QAQ
scanf("%ld%ld%d",&A,&B,&D);
A=A+B;
while(A)
{
sta[++top]=A%D;
A=A/D;
}
if(top==-1)printf("0");
else
while(top!=-1) printf("%d",sta[top--]);
printf("\n");
return 0;
}