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

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

输入格式:

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

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

代码实现: 

注意边界值0的单独处理 。

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int d,a[200],top = 0;
    long long int A,B,sum;
    scanf("%lld%lld%d",&A,&B,&d);
    sum = A + B;
    if(sum == 0)//注意边界值
        printf("0");
    while(sum != 0){
        a[top++] = sum%d;//取余
        sum = sum/d;
    }
    while(top != 0){
        printf("%d",a[--top]);//逆序输出
    }
    printf("\n");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Annfan123/article/details/86548740
今日推荐