public void SumOfFibonacci_WithEvenValuesLE4Million_Is4613732() { var actual = Sequences.FibonacciNumbers() .TakeWhile(fib => fib <= 4000000) .Where(v => v % 2 == 0) .Sum(); Assert.AreEqual(Answer, actual); }
public void FirstTermOfFibonacciSequenceToContain3digts_IsThe12th() { var expected = 12; var result = Sequences.FibonacciNumbers() .TakeWhile(num => num < 100) .LongCount() + 2; Assert.AreEqual(expected, result); }
public void SumOfFibonacci_WithValuesLE89_IsSomething() { var expected = new int[] { 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 }.Sum(); var actual = Sequences.FibonacciNumbers() .TakeWhile(fib => fib <= 89) .Sum(); Assert.AreEqual(expected, actual); }
public void FirstTermOfFibonacciSequenceToContain1000digts_IsThe4782nd() { var expected = 4782; var thousandDigitNumber = Sequences .Repeat(new BigInteger(0)) .Take(999) .Append(new BigInteger(1)) .FromDigits(); var result = Sequences.FibonacciNumbers() .TakeWhile(num => num < thousandDigitNumber) .LongCount() + 2; Assert.AreEqual(expected, result); }