斐波那契数组-递归和循环实现

static void Main(string[] args)
{
    Console.WriteLine(getnumfor(100));
    Console.ReadKey();
}
static long getnum(long index)
{
    if (index == 1 || index == 2)
    {
        return 1;
    }
    else
    {
        return getnum(index - 1) + getnum(index - 2);
    }
}
static long getnumfor(long index)
{
    if (index == 1 || index == 2)
    {
        return 1;
    }
    else
    {
        long one = 1; long two = 1;
        for (long i = 3; i <= index; i++)
        {
            if (i == 3)
            {
                one = 1;
                two = 1;
            }
            else
            {
                long temp = one;
                one = two;
                two = temp + two;
            }
        }
        return one + two;
    }
}

 

posted @ 2017-09-14 23:46  FreeTimeWorker  阅读(615)  评论(0编辑  收藏  举报