Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Largest products of five consecutive digits in this 1000-digit number.
open System.Numerics
let digits n = Seq.unfold (fun i –>
if i = 0I then None
else Some(i % 10I, i / 10I)) n
let consecutive = Seq.unfold (function
(a : BigInteger) :: (b :: c :: d :: e :: _ as t) –>
Some((a * b * c * d * e), t)
| _ -> None)
73167176531330624919225119674426574742355349194934 ⏎
96983520312774506326239578318016984801869478851843 ⏎
85861560789112949495459501737958331952853208805511 ⏎
12540698747158523863050715693290963295227443043557 ⏎
66896648950445244523161731856403098711121722383113 ⏎
62229893423380308135336276614282806444486645238749 ⏎
30358907296290491560440772390713810515859307960866 ⏎
70172427121883998797908792274921901699720888093776 ⏎
65727333001053367881220235421809751254540594752243 ⏎
52584907711670556013604839586446706324415722155397 ⏎
53697817977846174064955149290862569321978468622482 ⏎
83972241375657056057490261407972968652414535100474 ⏎
82166370484403199890008895243450658541227588666881 ⏎
16427171479924442928230863465674813919123162824586 ⏎
17866458359124566529476545682848912883142607690042 ⏎
24219022671055626321111109370544217506941658960408 ⏎
07198403850962455444362981230987879927244284909188 ⏎
84580156166097919133875499200524063689912560717606 ⏎
05886116467109405077541002256983155200055935729725 ⏎
71636269561882670428252483600823257530420752963450I
|> digits |> List.ofSeq |> consecutive |> Seq.max
Comments
- Anonymous
September 15, 2010
I like your solution, very idiomatic for F#.I have taken a different approach to solve the same problem, based on arrays.If you are curious, you can have a look here: stefanoricciardi.com/.../project-euler-problem-8-in-f - Anonymous
September 16, 2010
@Stefano: Hey, very nice solution! Now I'm going back and looking at your solutions to the others (I won't peek at 9+ until I've done them :-) Some fun, these Euler problems, eh?