504.七进制数
给定一个整数num,将其转化为7进制数,并以字符串形式输出。
难度:简单
示例1:
输入: num = 100
输出:"202"
示例2:
输入:num = -7
输出:"-10"
提示:
题解:
数学方式:
因为有负数,所以先取绝对值;
然后再将绝对值反复模7,并将结果加入结果中;
最后再根据num的正负判断是否需要添加负号。
func convertToBase7(num int) string {
if num == 0 {
return strconv.Itoa(0)
}
abs := absolute(num)
ans := ""
for abs != 0 {
ans = strconv.Itoa(abs%7) + ans
abs /= 7
}
if num < 0 {
return "-" + ans
}
return ans
}
func absolute(x int) int {
if x < 0 {
return -x
}
return x
}
func convertToBase7(num int) string {
if num == 0 {
return strconv.Itoa(0)
}
abs := absolute(num)
ans := []byte{}
for abs != 0 {
ans = append(ans,'0'+byte(abs%7))
fmt.Println(ans)
abs /= 7
}
n := len(ans)
for i:=0; i<n/2; i++ {
ans[i], ans[n-1-i] = ans[n-1-i], ans[i]
}
if num < 0 {
return "-" + string(ans)
}
return string(ans)
}
func absolute(x int) int {
if x < 0 {
return -x
}
return x
}