Files
codekata-golang/16_power_digit_sum/main.go
2020-10-15 09:55:45 +08:00

35 lines
551 B
Go

package main
import (
"fmt"
"math/big"
"strconv"
)
func main() {
n := &big.Int{}
n.SetInt64(1024)
p := (&big.Int{}).SetInt64(1)
for i := 0; i < 100; i++ {
p = p.Mul(p, n)
}
sum, err := SumDigits(p.String())
if err != nil {
panic(err)
}
fmt.Println("product:", p.String(), "sum:", sum)
}
func SumDigits(input string) (int, error) {
l := len(input)
sum := 0
for i := 0; i < l; i++ {
n, err := strconv.Atoi(input[i : i+1])
if err != nil {
return 0, fmt.Errorf("invalid input: %s", input)
}
sum += n
}
return sum, nil
}