Skip to content

Latest commit

 

History

History
30 lines (30 loc) · 574 Bytes

504七进制数.md

File metadata and controls

30 lines (30 loc) · 574 Bytes
func convertToBase7(num int) string {
    if num == 0 {
        return "0"
    }
    sign := num < 0
    if sign {
        num = -num
    }
    var res []byte
    var reverse func(digits []byte)
    reverse = func(digits []byte) {
        i, j := 0, len(digits)-1
        for i < j {
            digits[i], digits[j] = digits[j], digits[i]
            i++
            j--
        }
    }
    for num > 0 {
        res = append(res, byte(num%7)+'0')
        num /= 7
    }
    if sign {
        res = append(res, '-')
    }
    reverse(res)
    return string(res)
}