一、运行结果
二、题目
给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。
示例 1:
输入: num = 100
输出: "202"
示例 2:
输入: num = -7
输出: "-10"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/base-7
三、思路
和十进制数化为二进制数的方法相同,如果输入的是负数,首先将其转换为相反数,用一个标记符标记其为负数,然后将该数不断对7 求余,直至为0,然后将求余得到的序列逆转,再加上标记位,就得到了该十进制数对应的七进制数。
四、代码
class Solution {
public:
string convertToBase7(int num) {
string ans;
if(num == 0) return "0";
char flag = ' '; //标记是正还是负
if(num < 0){
flag = '-';
num = -num;
}
while(num != 0){
int tmp = num % 7;
ans = to_string(tmp) + ans;
num /= 7;
}
if(flag == '-') ans = flag + ans;
return ans;
}
};