這篇文章將為大家詳細講解有關(guān)C語言中怎么實現(xiàn)斐波那契數(shù)列,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

C語言數(shù)據(jù)結(jié)構(gòu)遞歸之斐波那契數(shù)列
首先,關(guān)于遞歸深度,遞歸提供了一個簡單的定義。如果調(diào)用Fibonacci(),當n為1或2時Fibonacci(n)應(yīng)返回1;對于其他數(shù)值應(yīng)返回Fibonacci(n-1)+Fibonacci(n-2);
long Fibonacci(n)
{
if (n > 2)
return Fibonacci(n-1)+Fibonacci(n-2);
else
return 1;
}然后是兔子總數(shù)問題。
有一對兔子,從出生后第三個月起每個月都生一對兔子,小兔子長到第三個月后又生一對兔子,假如兔子都不死,每個月兔子對數(shù)為多少?
思考這道題的時候,如果你簡單的推算一下,會發(fā)現(xiàn)兔子每個月的對數(shù)就是斐波那契數(shù)列。
第一個月:1對;
第二個月:1對;
第三個月:2對;
第四個月:3對:
第五個月:5對:
第六個月:8對;
……
我之前做這道題的時候,覺得思路很簡單,就是從第三個月起,求每個月的兔子數(shù)時,只要把這個月的前兩個月總數(shù)相加。
這是我之前的代碼,用f1和f2表示月。:
#include<stdio.h>
int main()
{
int f1,f2;
int month,ct;
printf("請輸入月份:");
scanf("%d",&month);
if(month<=2)
printf("兩只。\n");
if (month > 2)
{
f1 = f2 = 1;
ct = 0;
while(ct < month -2){
f1 = f1+f2;
ct += 1;
f2 = f1+f2;
ct += 1;
}
if (month %2 == 0){
printf("第 %d 個月的兔子對數(shù)為:%d.\n",month,f2);
}
if (month %2 == 1){
printf("第 %d 個月的兔子對數(shù)為:%d.\n",month,f1);
}
}
return 0;
}其實這個代碼離遞歸就差一步,很接近了。但是我當時完全沒有想到。
這是我重新修改之后的代碼:
#include<stdio.h>
long Fibonacci(n)
{
if (n > 2)
return Fibonacci(n-1)+Fibonacci(n-2);
else
return 1;
}
int main()
{
long num;
int month;
printf("請輸入月份:");
scanf("%d",&month);
num = Fibonacci(month);
printf("這個月的兔子對數(shù)為%d.\n",num);
return 0;
}關(guān)于C語言中怎么實現(xiàn)斐波那契數(shù)列就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:C語言中怎么實現(xiàn)斐波那契數(shù)列-創(chuàng)新互聯(lián)
分享地址:http://chinadenli.net/article38/dphssp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、動態(tài)網(wǎng)站、網(wǎng)站營銷、App設(shè)計、全網(wǎng)營銷推廣、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容