The Problem
Compute 21000 and sum its digits.
The Solution
Like Problem 13, this problem is
trivially easy because of .NET's BigInteger
data type.
(pown 2I 1000).ToString()
|> Seq.map (fun c -> int32(c) - int32('0'))
|> Seq.sum
The pown
function returns 21000 as a BigInteger
. (Suffixing a numeric literal
with I
means it is a BigInteger
literal)
Strings can be treated as Seq<char>
and that's what we do here. We convert each digit into
an integer and then finally sum the result.