#include <iostream> #include <vector> using namespace std; vector<int> res; int main() { long num1, num2, sum, target;//A+B可能超出int,最大2^32-2,long即可 while (cin >> target >> num1 >> num2) { // if(target==0) break; sum = num1 + num2; while (sum != 0) {//除基取余法,低位至高位 res.push_back(sum % target); sum /= target; } for (int i = res.size() - 1; i > -1; i--) cout << res[i]; if (res.size() == 0) cout << 0; res.clear(); cout << endl; } }
进制转换,可以考虑类似十转二的除基取余。