package cap3 func Ex35(boxNum int, expectWeigh, actualWeigh int) []int { result := make([]int, 0) // 实际值重量正常重量差 / 10 w := (expectWeigh - actualWeigh) / 10 // w转化为2的幂的和 for w != 0 { // k是箱子编号,从0开始, t是2的幂 k, t := 0, 1 // 找到最接近w的2的k次方t,当t大于w时结束小循环 for w-t >= 0 { t *= 2 // t是2的k次方 k++ } result = append(result, k-1) w -= t / 2 } return result }