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

解析

  除基取余法存进数组反向输出即可,注意a+b会有溢出的情况,需要lld

答案

#include<iostream>
#include<string.h>
using namespace std;

int main(){
    long long int a,b,c;
    int s[50],num = 0;
    cin >> a >> b >> c;

    long long int sum = a + b;

    do{
        s[num ++]  = sum % c;
        sum /= c; 
    }while ( sum != 0 );

    for(int  i  = num - 1 ; i >= 0  ; i --){
        cout << s[i];
    }
}
posted @ 2020-08-05 00:31  小马小马最可爱  阅读(69)  评论(0)    收藏  举报