题目是很简单的,你找几个十进制数,将他手工转化为其他进制的数,记住这个过程,用代码模拟这个过程。首先是用数去除以要转化的进制,余数留下作为进制在此位上的数值,除数进到下一位,在做一次除法。以此类推,直到除不够进制。用一个数组去存,最后记得倒序,因为你是到这放进数组的。记得有一个测试点需要考虑为0的情况。
//foreverking
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <cmath>
using namespace std;
//输入两个非负 10 进制整数 A 和 B (≤2^30−1),输出 A+B 的 D (1<D≤10)进制数
int a,b,d;
int array[100];//存放进制的数
int main(){
cin >> a >> b >> d;
long s = a + b;//太大了,转化为string
int i = 0;
if(s == 0){
cout << 0;
return 0;
}
while(s != 0){
//代码
array[i++] = s % d;
s /= d;
}
for(int j = i - 1; j >= 0; j--){
//代码
cout << array[j];
}
return 0;
}