計算斐波納契數列

計算斐波納契數列

 常用遞歸..效率低下,40,估計能跑半天.

static long recurFib(int n)

{

if (n < 2)

        return n;

else

        return recurFib(n - 1) + recurFib(n - 2);

}

動態規劃算法 使用中間變量,,,, 效率明顯..

 static long iterFib(int n)

    {

        int[] val = new int[n];

        if ((n == 1) || (n == 2))

            return 1;

        else

        {

            val[1] = 1;

            val[2] = 2;

            for (int i = 3; i <= n - 1; i++)

                val[i] = val[i - 1] + val[i - 2];

        }

        return val[n - 1];

    }

 

 

static long iterFib1(int n)

{

    long last, nextLast, result;

    last = 1;

nextLast = 1;

    result = 1;

    for (int i = 2; i <= n - 1; i++)

    {

        result = last + nextLast;

        nextLast = last;

        last = result;

    }

    return result;

}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章