2019-07-11 patB1022 D进制的A+B

2019-07-11  本文已影响0人  JO炮

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

输入格式:

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

输出格式:

输出 A+B 的 D 进制数。

这个问题比较简单,只需要熟悉怎样将十进制转换成任意进制的手工算法即可转换成c++算法。

但是难点是要想到用数组记录余数并倒序输出,若不使用数组将会变得比较麻烦

#include <iostream>

using namespace std;

int main() {

    int a,b,d;

    int s = a + b;

    cin >> a >> b >> d;

    if(s==0){

    cout << 0;

    return 0;

    }

    int r[100];

    int i = 0;

    while(s!=0){

        r[i++] = s % d;

        s = s / d;

    }

    for(int j = i - 1; j >= 0; j--)

        cout << r[j];

    return 0;

}

        这道题也是中途看了柳神的代码才进行下去的,现在的编程能力非常弱,希望坚持一段时间可以有所改善。

上一篇下一篇

猜你喜欢

热点阅读