给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。
示例 1:
输入: num = 100 输出: “202”
示例 2:
输入: num = -7 输出: “-10”
提示:
-10^7 <= num <= 10^7
分析:10进制转7进制,首先判断输入是否为0,若为0,直接返回0,但要注意要求是返回字符串,所以要把int类型的0利用tostring()方法转换成string类型的0;若不是0,判断正负,并用isplus标记,然后直接取num绝对值。然后一直取商,直到余数为0,将余数反向输出,记到字符串s中返回即可。
class Solution {
public:
string convertToBase7(int num) {
bool isplus;
string s;
if(num==0)
{
s='0';
return s;
}
isplus= num>0?true:false;
num=abs(num);
int shang;
shang=num;
while(shang!=0)
{
s+=to_string(shang%7);
shang=shang/7;
}
reverse(s.begin(),s.end());
if(isplus==false)
{
s='-'+s;
}
return s;
}
};