Ejemplo n.º 1
0
        public void SumOfFibonacci_WithEvenValuesLE4Million_Is4613732()
        {
            var actual = Sequences.FibonacciNumbers()
                         .TakeWhile(fib => fib <= 4000000)
                         .Where(v => v % 2 == 0)
                         .Sum();

            Assert.AreEqual(Answer, actual);
        }
Ejemplo n.º 2
0
        public void FirstTermOfFibonacciSequenceToContain3digts_IsThe12th()
        {
            var expected = 12;
            var result   = Sequences.FibonacciNumbers()
                           .TakeWhile(num => num < 100)
                           .LongCount() + 2;

            Assert.AreEqual(expected, result);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }