用遞歸實現斐波那契數列c語言,用遞歸函數實現斐波那契數列

本文目錄一覽:

c語言用遞歸方法實現斐波那契數列

int fbnc(int n)

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

else if (n2) return 1;

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

}

C語言:利用函數遞歸求斐波那契數列,輸出該數列的前17項,每行輸出5個數。

#include

#define

COL

5

//一行輸出5個

long

fibonacci(int

n)

{

//fibonacci函數的遞歸函數

if

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

{

//fibonacci函數遞歸的出口

return

1;

}

else

{

return

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

//反覆遞歸自身函數直到碰到出口處再返回就能計算出第n項的值

}

}

int

main(void)

{

int

i,n;

n=

17;

printf(“Fibonacci數列的前%d項\n”,

n);

for

(i=0;

i

{

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

//調用遞歸函數並且打印出返回值

if(i%COL==0)

{

//若對COL取余等於0就換行,也就是控制每行輸出多少個,

//而COL=10就是每行輸出10個

printf(“\n”);

}

}

printf(“\n”);

return

0;

}

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

代碼:

#includelt;stdio.hgt;

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

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(“請輸入要求取的第n項斐波那契數列n=”);

if(scanf(“%d”,num)){

if(numgt;=0){

printf(“%d”,Fib(num));

}

else

printf(“Error!!!”);

return 0;

}

return 0;

}

擴展資料:

斐波那契數列排列組合

有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法

這就是一個斐波那契數列:登上第一級台階有一種登法;登上兩級台階,有兩種登法;登上三級台階,有三種登法;登上四級台階,有五種登法……

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

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

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

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

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

參考資料:

百度百科——斐波那契數列

c語言編程中如何用遞歸實現Fibonacci數列?

#includestdio.h

#define N 20

int Fibonacci(int n)

{

if(n == 1 || n==2)

return 1;

else

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

}

void main()

{

int i = 0;

for(i=1;i=N;i++)

{

printf(“%5d”,Fibonacci(i));

if(i%5 == 0)

printf(“\n”);

}

printf(“\n”);

}

只要修改宏定義N的值,就可以輸出斐波那契數列的前N項。

原創文章,作者:VZIL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141889.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VZIL的頭像VZIL
上一篇 2024-10-09 09:53
下一篇 2024-10-09 09:53

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29

發表回復

登錄後才能評論