香蕉视频app

Keep on going never give up.

Let's Go

C#【練習】斐波那契數列求和

C#Lonely2019-05-20 03:30:56188次0條

static void Main(string[] args)
{

    //斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。
    //指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……,這個數列從第3項開始,每一項都等于前兩項之和。
    //遞推公式:F(n)=F(n-1)+F(n-2)
    //求第30個數是什么?

    //方法一:循環實現
    int sum = 0, temp = 1;
    for (int i = 0; i < 30 / 2; i++)
    {
        sum += temp;
        temp += sum;                
    }
    Console.WriteLine(sum);

    //方法二:遞歸實現,順推
    GetNum(0, 1, 0);

    //方法三:遞歸實現,倒推
    Console.WriteLine(GetNum(30));
            
    Console.ReadKey();
}

static void GetNum(int i, int temp, int sum)
{
    sum += temp;
    temp += sum;
    i++;
    if (i < 30/2)
        GetNum(i, temp, sum);
    else
        Console.WriteLine(sum);
}

static int GetNum(int i)
{
    if (i <= 0)
        return 0;
    else if (i > 0 && i <= 2)
        return 1;
    else
        return GetNum(i - 1) + GetNum(i - 2);
}




暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!