leetcode-504.七进制数
数学问题
题目详情
给定一个整数 num
,将其转化为 7
进制,并以字符串形式输出。
示例1:
输入: num = 100
输出: "202"
示例2:
输入: num = -7
输出: "-10"
思路:
非常简单,反复整除和取余即可得到
注意处理0和负数的情况
我的代码:
class Solution
{
public:
string convertToBase7(int num)
{
if (num == 0) return "0"; //注意是返回"0"不是0
int is_negative = num < 0; //注意判断正负
if (is_negative) num = -num; //如果是负数就转为正数
string ans;
while (num) //反复求余整除即可
{
int a = num / 7, b = num % 7;
ans = to_string(b) + ans;
num = a;
}
return is_negative? "-" + ans : ans; //最后别忘加上符号
}
};