题目:输入数字n,按顺序打印从1到最大的n位十进制数。(大整数问题)
func plus1(arrs []int) {
length := len(arrs)
if arrs[length-1] < 9 {
arrs[length-1]++
} else {
arrs[length-1]++
for i := length - 1; arrs[i] > 9 && i > 0; i-- {
arrs[i] = 0
arrs[i-1]++
}
}
}
func isMax(arrs []int) bool {
for _, v := range arrs {
if v != 9 {
return false
}
}
return true
}
func printMaxN(n int) []int {
nums := make([]int, n)
for !isMax(nums) {
plus1(nums)
}
return nums
}