c語言斐波那契函數(shù)用遞歸 斐波那契遞歸算法C語言

我想用遞歸寫斐波那契數(shù)列,c語言

代碼:

普定ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

#includelt;stdio.hgt;

int Fib(int n){//自定義函數(shù)

if(nlt;0)

return-1;

else if(n==0)

return 0;

else if(n==1)

return 1;

else

return Fib(n-1)+Fib(n-2);

}

int main(){

int num;

printf("請(qǐng)輸入要求取的第n項(xiàng)斐波那契數(shù)列n=");

if(scanf("%d",num)){

if(numgt;=0){

printf("%d",Fib(num));

}

else

printf("Error!??!");

return 0;

}

return 0;

}

擴(kuò)展資料:

斐波那契數(shù)列排列組合

有一段樓梯有10級(jí)臺(tái)階,規(guī)定每一步只能跨一級(jí)或兩級(jí),要登上第10級(jí)臺(tái)階有幾種不同的走法

這就是一個(gè)斐波那契數(shù)列:登上第一級(jí)臺(tái)階有一種登法;登上兩級(jí)臺(tái)階,有兩種登法;登上三級(jí)臺(tái)階,有三種登法;登上四級(jí)臺(tái)階,有五種登法……

1,2,3,5,8,13……所以,登上十級(jí),有89種走法。

類似的,一枚均勻的硬幣擲10次,問不連續(xù)出現(xiàn)正面的可能情形有多少種?

答案是(1/√5)*{[(1+√5)/2]^(10+2)-[(1-√5)/2]^(10+2)}=144種。

求遞推數(shù)列a⑴=1,a(n+1)=1+1/a(n)的通項(xiàng)公式

由數(shù)學(xué)歸納法可以得到:a(n)=F(n+1)/F(n),將斐波那契數(shù)列的通項(xiàng)式代入,化簡就得結(jié)果。

參考資料:

百度百科——斐波那契數(shù)列

(C語言)用遞歸方法編寫求斐波那契數(shù)列的函數(shù)

#includestdio.h

long func(long n)

{

if(n==0||n==1)return n;

else return func(n-1)+func(n-2);

}

main()

{

long n;

printf("please input n:");

scanf("%ld",n);

printf("the result is %ld",func(n));

}

C語言:利用函數(shù)遞歸求斐波那契數(shù)列,輸出該數(shù)列的前17項(xiàng),每行輸出5個(gè)數(shù)。

#include

#define

COL

5

//一行輸出5個(gè)

long

fibonacci(int

n)

{

//fibonacci函數(shù)的遞歸函數(shù)

if

(0==n||1==n)

{

//fibonacci函數(shù)遞歸的出口

return

1;

}

else

{

return

fibonacci(n-1)+fibonacci(n-2);

//反復(fù)遞歸自身函數(shù)直到碰到出口處再返回就能計(jì)算出第n項(xiàng)的值

}

}

int

main(void)

{

int

i,n;

n=

17;

printf("Fibonacci數(shù)列的前%d項(xiàng)\n",

n);

for

(i=0;

i

{

printf("%-10ld",fibonacci(i++));

//調(diào)用遞歸函數(shù)并且打印出返回值

if(i%COL==0)

{

//若對(duì)COL取余等于0就換行,也就是控制每行輸出多少個(gè),

//而COL=10就是每行輸出10個(gè)

printf("\n");

}

}

printf("\n");

return

0;

}

C語言,利用遞歸調(diào)用,編程輸出斐波那契數(shù)列 ,這個(gè)怎么編啊,求指教啊

#includestdio.h

long fun(int i)//遞歸函數(shù)

{

if(i==1||i==2)//遞歸終止條件

return 1;

else//遞歸通式

return(fun(i-1)+fun(i-2));

}

int main()

{

int n;

printf("請(qǐng)輸入項(xiàng)數(shù):");

scanf("%d",n);

printf("\n斐波那契數(shù)列前%d項(xiàng)為:\n",n);

for(int i=1;i=n;i++)

{

printf("%ld\t",fun(i));//調(diào)用函數(shù)

if(i%5==0)//每輸出5項(xiàng)換行

printf("\n");

}

return 0;

}

斐波那契數(shù)列C語言遞歸buzhou

樓上說的同時(shí)執(zhí)行,我愚見覺得是不對(duì)的。應(yīng)該是先執(zhí)行bashan(n-1),然后再執(zhí)行n-2的那句。兩個(gè)都是分別執(zhí)行遞歸到計(jì)算出結(jié)果后,相加作為

返回值

。

也就是類似一個(gè)

二叉樹

先序遍歷

差不多的感覺。比如說,bashan(4)。執(zhí)行順序如下

bashan(4),bashan(3),bashan(2)=2

bashan(2)=2

bashan(4)=2-2=0

如果這里不存在異步多線程之類的操作,就應(yīng)該從左到右,從上到下,按照順序完成。

c語言用遞歸方法實(shí)現(xiàn)斐波那契數(shù)列

int fbnc(int n)

{ if (n1) return (-1); //wrong;

else if (n2) return 1;

else return (fbnc(n-1)+fbnc(n-2));

}

名稱欄目:c語言斐波那契函數(shù)用遞歸 斐波那契遞歸算法C語言
文章位置:http://muchs.cn/article22/docogjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、Google、全網(wǎng)營銷推廣、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化