• 按照十进制转二进制的思路即可:
  • 先将余数保存到向量(逆序输出)或栈(顺序出栈),之后将数值除以m直到为0为止
#include "iostream"
#include "algorithm"
#include "vector"

using namespace std;

vector<int> func_135(int m, long long int num) {
    vector<int> result;                     // 1-10进制数,无需使用字母表示
    if (num == 0) result.push_back(0);      // 单独处理0的情况
    while (num) {
        result.push_back(num % m);          // 保存余数
        num /= m;                           // 除以进制数
    }
    reverse(result.begin(), result.end());  // 反转或逆序输出均可
    return result;
}

int main() {
    int m, a, b;
    while (cin >> m && m) {                         // m = 0 时退出
        cin >> a >> b;                              // a,b 均在int32范围内,无需使用字符串
        vector<int> result = func_135(m, a + b);    // 函数调用
        for (int i = 0; i < result.size(); ++i)     // 输出
            cout << result[i];
        cout << endl;
    }
    return 0;
}