トップページに戻る
次のC#のサンプルへ
前のC#のサンプルへ
Problem2 フィボナッチ数列の偶数の項の総和
問題
フィボナッチ数列の項は前の2つの項の和である。
最初の2項を1,2とすれば、最初の10項は以下の通りである。
1,2,3,5,8,13,21,34,55,89, ...
数列の項が400万を超えない範囲で、偶数の項の総和を求めよ。
ソース
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
int SumVal = 0;
var ValList = new List<int>();
while (true) {
int P = ValList.Count;
if (P == 0) ValList.Add(1);
else if (P == 1) ValList.Add(2);
else ValList.Add(ValList[P - 1] + ValList[P - 2]);
int LastVal = ValList[ValList.Count - 1];
if (LastVal > 4000000) break;
if (LastVal % 2 == 0) SumVal += LastVal;
}
Console.WriteLine("Total=" + SumVal);
}
}
実行結果
Total=4613732
解説
Listジェネリックでフィボナッチ数列を順に求めていってます。