這道題目考察的是運(yùn)用遞歸(數(shù)列)的思路去解決問(wèn)題。
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括上城網(wǎng)站建設(shè)、上城網(wǎng)站制作、上城網(wǎng)頁(yè)制作以及上城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,上城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到上城省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
假設(shè)到第24個(gè)月,示例代碼如下:
public class woo {
public static void main(String args[]) {
System.out.println(fib(24));
}
private static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}
}
擴(kuò)展資料:
斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、34、……。
在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞推的方法定義:F(1)=1,F(xiàn)(2)=1, F(n)=F(n-1)+F(n-2)在現(xiàn)代物理、準(zhǔn)晶體結(jié)構(gòu)、化學(xué)等領(lǐng)域,斐波納契數(shù)列都有直接的應(yīng)用,為此,美國(guó)數(shù)學(xué)會(huì)從1963年起出版了以《斐波納契數(shù)列季刊》為名的一份數(shù)學(xué)雜志,用于專門(mén)刊載這方面的研究成果。
參考資料:
百度百科:斐波那契數(shù)列
百度百科:遞歸函數(shù)
這是斐波那契數(shù)列的問(wèn)題
可以用遞歸,也可以用循環(huán)
遞歸:
public class Demo3 {
// 使用遞歸方法
private static int getFibo(int i) {
if (i == 1 || i == 2)
return 1;
else
return getFibo(i - 1) + getFibo(i - 2);
}
public static void main(String[] args) {
System.out.println("斐波那契數(shù)列的前20項(xiàng)為:");
for (int j = 1; j = 20; j++) {
System.out.print(getFibo(j) + "\t");
if (j % 5 == 0)
System.out.println();
}
}
}
循環(huán):
public class Demo2 {
// 定義數(shù)組方法
public static void main(String[] args) {
int arr[] = new int[20];
arr[0] = arr[1] = 1;
for (int i = 2; i arr.length; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
System.out.println("斐波那契數(shù)列的前20項(xiàng)如下所示:");
for (int i = 0; i arr.length; i++) {
if (i % 5 == 0)
System.out.println();
System.out.print(arr[i] + "\t");
}
}
}
20個(gè)月后一共6765對(duì)兔子。
在700多年前,意大利有一位著名數(shù)學(xué)家斐波那契在他的《算盤(pán)全集》一書(shū)中提出了這樣一道有趣的兔子繁殖問(wèn)題。他先用列舉法計(jì)算出各個(gè)月兔子對(duì)數(shù),并進(jìn)行了仔細(xì)觀察,從中發(fā)現(xiàn)了一個(gè)十分有趣的規(guī)律,就是后面一個(gè)月份的兔子總對(duì)數(shù),恰好等于前面兩個(gè)月份兔子總對(duì)數(shù)的和。
1月兔子等于1對(duì)。
2月兔子等于1對(duì)。
3月兔子對(duì)數(shù)等于1月與2月兔子數(shù)相加等于2對(duì)。
4月兔子對(duì)數(shù)等于2月與3月兔子數(shù)相加等于5對(duì)。
后面依次類推。
擴(kuò)展資料:
遞歸方法計(jì)算兔子繁殖問(wèn)題:
根據(jù)實(shí)際問(wèn)題,設(shè)置兩個(gè)基本事件:rabbit(1)=1和rabbit(2)=1,由此,遞歸定義式為:
rabbit(n)=1when ?n=1 or n=2;
rabbit(n)=rabbit(n-1)+rabbit(n-2)when ?n2;
rabbit(1),rabbit(2),rabbit(3),... ... 稱為Fibonacci序列,它是許多自然現(xiàn)象的模型。
rabbit(n)的Java方法:
[java]view plaincopy
publicstaticint?rabbit(int?n){
//------------------------------------------
//Computes?a?term?in?the?Fibonacci?sequence
//Precondition:n?is?a?positive?integer
//Postcondition:Returns?the?nth?Fibonacci?number
//------------------------------------------
if(n=2){return1;}
else?{//n2,?so?n-10?and?n-20
return?rabbit(n-1)+rabbit(n-2);
}//end?if
}//end?rabbit
參考資料:百度百科-兔子繁衍奧數(shù)題及答案
這個(gè)是
斐波那契數(shù)列
的問(wèn)題,根據(jù)要求編寫(xiě)的
程序
如下:
public
class
Fibonacci
{
static
int
mb_Fibonacci(int
n){
if(n==1)
return
1;
if(n==2)
return
1;
return
mb_Fibonacci(n-1)+mb_Fibonacci(n-2);
}
public
static
void
main(String[]
args)
{
System.out.println(mb_Fibonacci(13));
}
}
運(yùn)行結(jié)果:
233