1. Miki Tebeka
  2. euler

Source

euler / go / 20.go

/*j
n! means n × (n − 1) × ... × 3 × 2 × 1

For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800,
and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.

Find the sum of the digits in the number 100!

Answer: 648
*/

package main

import (
	"big"
	"fmt"
)

// taken from 16
func sumDigits(s string) int {
	sum := 0
	for _, c := range s {
		sum += c - '0'
	}

	return sum
}

func main() {
	fact := big.NewInt(1)
	fact.MulRange(1, 100)

	fmt.Println(sumDigits(fact.String()))
}