Skip to content

Project Euler Problem 16

October 26, 2011

Project Euler Problem 16 can be done as-is: first let’s produce the number 2**1000 by shifting bigint 1I thousand times to the left; then convert its written representation into array of digits; and finally sum them.

let inline digit (x: char) = int(x) - int('0')

let problem016 () =
    1I <<< 1000
    |> sprintf "%A"
    |> fun x -> x.ToCharArray()
    |> Array.map digit
    |> Array.sum
Advertisements

From → Project Euler

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: