Euler serisinin ikinci yazısında, Project Euler’in 2. sorusunu çözeceğiz;
*Orijinal soru; *Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Find the sum of all the even-valued terms in the sequence which do not exceed four million.
*Türkçesi; *Fibonacci serisinde her rakam, kendisinden önce gelen iki rakamın toplamıdır. 1 ve 2 ile başlayan serinin ilk 10 rakamı:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Bu serinin 4.000.000 (Dört Milyon) ‘dan küçük tüm çift rakamlarının toplamını bulunuz.
Önce siz çözmeyi deneyin, çözemezseniz ;
using System; using System.Linq; using System.Collections.Generic;
class Program { static IEnumerable< long > FibonacciSeri() { long a = 1; long b = 1;
while (true)
{
a = a + b;
b = a - b;
if (b < 4000000)
yield return b;
else
break;
}
}
static void Main(string[] args)
{
long Toplam = FibonacciSeri().Where(Rakam => Rakam % 2 == 0).Sum();
Console.WriteLine("Toplam : {0}", Toplam);
Console.ReadLine();
} }
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484