class Solution {
public:
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    string solve(int M, int N) {
        // write code here
        if(M == 0)
            return "0";
        bool flag = false; // 记录M是否是负数
        if(M < 0) {
            flag = true;
            M = -M;
        }
        string res;
        string jz = "0123456789ABCDEF"; // 记录进制
        while(M != 0) { // 从最后的位数计算
            res += jz[M % N];
            M /= N;
        }
        reverse(res.begin(), res.end()); // 将结果翻转一下
        if(flag) // 如果结果是负数,就在结果头部添加一个负号
            res.insert(0, "-");
        return res;
    }
};