C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...
生活随笔
收集整理的這篇文章主要介紹了
C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??
先看題目:數列的規律是從第3個數開始,每個數是前兩個數的和。 “public static int AA(int i)”即定義一個公共靜態函數體,輸入一個整數(第X位數),返回值; “if (i <= 0) return 0;”預防輸入0或負數,輸入則返回“0”; “else if (i > 0 && i <= 2) return 1;”如果輸入第1位或第2位,則返回“1”(如題); “else return AA(i - 1) + AA(i - 2);”輸入其它的數則返回前兩個數的值。注意:因為求數列中每一個值都是調用該函數,所以求前兩個數的值就又要調用2個這個函數。這就是遞歸(調用自身)。 eg:求AA(100)的值,則返回AA(99) + AA(98)的值,其中又要調用AA(99) 和AA(98)求它們的值,AA(99)又要調用AA(98)和Foo(97),AA(98)又要調用AA(97)和AA(96)……直到調用AA(2)和AA(1)會返回“1”,又一層層代回去,最后加出正確答案 public static int AA(int i)
{
if (i <= 0)
return 0;
else if (i > 0 && i <= 2)
return 1;
else return AA(i - 1) + AA(i - 2);
}
?
轉載于:https://www.cnblogs.com/tianyiyi/archive/2012/11/01/2749732.html
總結
以上是生活随笔為你收集整理的C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交叉点公式
- 下一篇: 【转】C#委托事件浅析