504. 七进制数

109 阅读1分钟

题目:
给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。

解法:
注意边界条件num==0

import "fmt"
func convertToBase7(num int) string {
    if num == 0 {
        return "0"
    }
	negativeFlag := false
	if num < 0 {
		negativeFlag = true
        num = -1 * num
	}
	carry := 0
	ans := ""
	n := 0
	newN := 0
	for num != 0 {
		n = num % 7
		num = num / 7
		n = n + carry
		if n >= 7 {
			newN = n - 7 
			carry = 1
		} else {
			newN = n
			carry = 0
		}
		ans = fmt.Sprintf("%d",newN) + ans
	}
	if negativeFlag {
		ans = "-" + ans
	}
	return ans
}