### The Problem

Sum the digits in *100!* (factorial of 100).

### The Solution

.NET's `BigInteger`

to the rescue. Again.

First, let's compute the factorial.

```
let rec factorial (n : BigInteger) =
if (n = 1I)
then 1I
else n * factorial (n - 1I)
```

The above is the classic, recursive implementation of the factorial function.

With that in hand, finding the answer is trivial.

```
(factorial 100I).ToString()
|> Seq.map (fun c -> int32(string c))
|> Seq.sum
```

The above converts *100!* to a string, then converts that into digits and then, finally, sums those
digits.