package main
import (
"fmt"
"math"
)
func main() {
num := 123456789
parts := 5
result := breakNumber(num, parts)
fmt.Println(result)
}
func breakNumber(num, parts int) []int {
numDigits := int(math.Floor(math.Log10(float64(num)))) + 1
partSize := numDigits / parts
remainder := numDigits % parts
result := make([]int, parts)
current := num
for i := parts - 1; i >= 0; i-- {
digits := partSize
if remainder > 0 {
digits++
remainder--
}
power := int(math.Pow10(digits - 1))
result[i] = current / power
current %= power
}
return result
}