给定一个整数,将其转化为7进制,并以字符串形式输出。
示例 1:
输入: 100
输出: "202"
示例 2:
输入: -7
输出: "-10"
注意: 输入范围是 [-1e7, 1e7] 。
在真实的面试中遇到过这道题?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/base-7
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
如何把一个数字转化成特定进制的数呢?
就用这个数对进制求商,求余,每一次的余数都是最后一位,然后商在赋值给这个数.结束条件是这个数为0
class Solution {
public:
string convertToBase7(int num)
{
if(num == 0)
return std::to_string(0);
int tmpnum;
if(num < 0)
tmpnum = -num;
else
tmpnum = num;
string ret;
//cout<<tmpnum<<endl;
while(tmpnum)
{
int yushu = tmpnum % 7;
int shang = tmpnum / 7;
ret = std::to_string(yushu)+ret;
tmpnum = shang;
}
if(num < 0)
ret = '-'+ret;
return ret;
}
};