Simple Recursion: Fibonacci Series

Bilangan fibonacci adalah sebuah deret integer dengan pola sebagai berikut:

0, 1, 1, 2, 3, 5, 8, 13 ,21, 34, 55, dst…

Mengikuti pola Fn = Fn-1 + Fn-2

dengan dua nilai awal F0 = 0 dan F1 = 1

Rumus di atas dapat dengan mudah diimplementasikan dalam kode C# sebagai berikut:


public static int GetItemValue(int itemIdx)
{
    if (itemIdx == 0) return 0;
    if (itemIdx == 1) return 1;
    return GetItemValue(itemIdx - 2) + GetItemValue(itemIdx - 1);
}

Selanjutnya dibuat sebuah function untuk membuat series menggunakan function tersebut. StartIndex dan endIndex adalah n awal dan n akhir dari deret fibonacci yang diinginkan, dengan n minimum = 0. Misal jika diinginkan deret fibonacci dari index ke-0 hingga ke-10 fungsi parameternya adalah 0 untuk startIndex dan 10 untuk endIndex.

public static int[] GetSeries(int startIndex, int endIndex)
{
    int[] result = new int[endIndex - startIndex];
    int resultIdx = 0;
    for (int i = startIndex; i < endIndex; i++)
    {
        result[resultIdx] = GetItemValue(i);
        resultIdx++;
    }
    return result;
}

That’s it, thanks for reading

Source Code

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s