504. 七进制数(简单)
给定一个整数,将其转化为7进制,并以字符串形式输出。
示例1:
输入: 100
输出: "202"
示例2:
输入: -7
输出: "-10"
注意: 输入范围是 [-1e7, 1e7] 。
解法一:
比较简单,直接按照除法公式,把余数添加到字符串里,最后把字符串取反就可以了,注意一点就是负数的情况要先加入负号再取反。循环停止的条件是直到商为0,由于python没有do while语句,所以用break来写。
class Solution(object):
def convertToBase7(self, num):
"""
:type num: int
:rtype: str
"""
x = abs(num)
result = ""
while True:
remainder = x % 7
x //= 7
#print(remainder, x)
result += str(remainder)
if x == 0:
break
if num<0:
result += "-"
result = result[::-1]
return result
解法二:
与解法一基本相同,区别就是当商小于7时就可以停止循环,退出循环后再把商加到字符串 后面就好。
class Solution(object):
def convertToBase7(self, num):
"""
:type num: int
:rtype: str
"""
x = abs(num)
result = ""
while x >= 7:
remainder = x % 7
x //= 7
result += str(remainder)
result += str(x)
if num<0:
result += "-"
result = result[::-1]
return result