當前位置:編程學習大全網 - 編程軟體 - 我想用遞歸寫斐波那契數列,c語言

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

代碼:

#include<stdio.h>

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

if(n<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(num>=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語言中輸入輸出函數的格式怎麽寫?
  • 下一篇:雞毛和低球頭球場
  • copyright 2024編程學習大全網