public void Problem25() { long maxIndex = 1000; bool stop = false; Dictionary <long, BigInteger> fibonacci = new Dictionary <long, BigInteger>(); while (!stop) { fibonacci = FibonacciHelper.ConstructFibonacciSequenceUptoIndex(maxIndex); stop = fibonacci.Values.Max().ToString().Length >= 1000; maxIndex += maxIndex; } Assert.Equal(4782, fibonacci.First(x => x.Value.ToString().Length == 1000).Key); }
public void Problem2() { long maxValue = 4000000; long maxIndex = 100; bool stop = false; Dictionary <long, BigInteger> fibonacci = new Dictionary <long, BigInteger>(); while (!stop) { fibonacci = FibonacciHelper.ConstructFibonacciSequenceUptoIndex(maxIndex); stop = fibonacci.Values.Max() >= maxValue; maxIndex += maxIndex; } Assert.Equal(4613732, fibonacci.Values.Where(x => x < maxValue && x % 2 == 0).Aggregate(BigInteger.Add)); }