牛客网PAT 乙级真题 D进制的A+B (20)

牛客网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;
}

发布了18 篇原创文章 · 获赞 2 · 访问量 230

猜你喜欢

转载自blog.csdn.net/zhou_hao_ran/article/details/103748643