1: class Program
2: { 3: const string massiveNumber =
4: @"73167176531330624919225119674426574742355349194934
5: 3520312774506326239578318016984801869478851843
6: 1560789112949495459501737958331952853208805511
7: 0698747158523863050715693290963295227443043557
8: 6648950445244523161731856403098711121722383113
9: 9893423380308135336276614282806444486645238749
10: 8907296290491560440772390713810515859307960866
11: 2427121883998797908792274921901699720888093776
12: 7333001053367881220235421809751254540594752243
13: 4907711670556013604839586446706324415722155397
14: 7817977846174064955149290862569321978468622482
15: 2241375657056057490261407972968652414535100474
16: 6370484403199890008895243450658541227588666881
17: 7171479924442928230863465674813919123162824586
18: 6458359124566529476545682848912883142607690042
19: 9022671055626321111109370544217506941658960408
20: 8403850962455444362981230987879927244284909188
21: 0156166097919133875499200524063689912560717606
22: 6116467109405077541002256983155200055935729725
23: 6269561882670428252483600823257530420752963450";
24:
25: static void Main(string[] args)
26: { 27: int finalAnswer = 0;
28: var filteredSequence = (from c in massiveNumber
29: where Char.IsDigit(c)
30: select c).ToList();
31: for (int n = 0; n < filteredSequence.Count - 4; n++)
32: { 33: var sequence = (from c in filteredSequence
34: select int.Parse(c.ToString())).Skip(n).Take(5);
35:
36: foreach (int val in sequence)
37: { 38: Console.Write("{0}, ", val); 39: }
40: var answer = sequence.Aggregate(1, (product, value) => product * value);
41: Console.WriteLine(" => {0}", answer); 42: finalAnswer = Math.Max(finalAnswer, answer);
43: }
44: Console.WriteLine(finalAnswer);
45: }
46: }