给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。
解答:
class Solution {
public:
string convertToBase7(int num) {
if(num == 0) return "0";
bool negative = num < 0;
string digits;
num = abs(num);
while(num > 0){
digits.push_back(num % 7 + '0');
num = num / 7;
}
if(negative) digits.push_back('-');
reverse(digits.begin(), digits.end());
return digits;
}
};
逆推,十进制的数等于七进制的数乘以7的n-1次幂,所以七进制的各位数等于十进制的数对7取余之后取整。