输入两个非负 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;
}
这道题也是中途看了柳神的代码才进行下去的,现在的编程能力非常弱,希望坚持一段时间可以有所改善。