C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...
生活随笔
收集整理的這篇文章主要介紹了
C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??
先看題目:數(shù)列的規(guī)律是從第3個(gè)數(shù)開(kāi)始,每個(gè)數(shù)是前兩個(gè)數(shù)的和。 “public static int AA(int i)”即定義一個(gè)公共靜態(tài)函數(shù)體,輸入一個(gè)整數(shù)(第X位數(shù)),返回值; “if (i <= 0) return 0;”預(yù)防輸入0或負(fù)數(shù),輸入則返回“0”; “else if (i > 0 && i <= 2) return 1;”如果輸入第1位或第2位,則返回“1”(如題); “else return AA(i - 1) + AA(i - 2);”輸入其它的數(shù)則返回前兩個(gè)數(shù)的值。注意:因?yàn)榍髷?shù)列中每一個(gè)值都是調(diào)用該函數(shù),所以求前兩個(gè)數(shù)的值就又要調(diào)用2個(gè)這個(gè)函數(shù)。這就是遞歸(調(diào)用自身)。 eg:求AA(100)的值,則返回AA(99) + AA(98)的值,其中又要調(diào)用AA(99) 和AA(98)求它們的值,AA(99)又要調(diào)用AA(98)和Foo(97),AA(98)又要調(diào)用AA(97)和AA(96)……直到調(diào)用AA(2)和AA(1)會(huì)返回“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);
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/tianyiyi/archive/2012/11/01/2749732.html
總結(jié)
以上是生活随笔為你收集整理的C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 交叉点公式
- 下一篇: Unity3D Input按键系统