#includestdio.h
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)10余年經(jīng)驗成就非凡,專業(yè)從事網(wǎng)站制作、做網(wǎng)站,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文推廣,一元廣告等。10余年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:028-86922220,我們期待您的來電!
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));
}
代碼:
#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("請輸入要求取的第n項斐波那契數(shù)列n=");
if(scanf("%d",num)){
if(numgt;=0){
printf("%d",Fib(num));
}
else
printf("Error?。?!");
return 0;
}
return 0;
}
擴展資料:
斐波那契數(shù)列排列組合
有一段樓梯有10級臺階,規(guī)定每一步只能跨一級或兩級,要登上第10級臺階有幾種不同的走法
這就是一個斐波那契數(shù)列:登上第一級臺階有一種登法;登上兩級臺階,有兩種登法;登上三級臺階,有三種登法;登上四級臺階,有五種登法……
1,2,3,5,8,13……所以,登上十級,有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)的通項公式
由數(shù)學(xué)歸納法可以得到:a(n)=F(n+1)/F(n),將斐波那契數(shù)列的通項式代入,化簡就得結(jié)果。
參考資料:
百度百科——斐波那契數(shù)列
#include
#define
COL
5
//一行輸出5個
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ù)直到碰到出口處再返回就能計算出第n項的值
}
}
int
main(void)
{
int
i,n;
n=
17;
printf("Fibonacci數(shù)列的前%d項\n",
n);
for
(i=0;
i
{
printf("%-10ld",fibonacci(i++));
//調(diào)用遞歸函數(shù)并且打印出返回值
if(i%COL==0)
{
//若對COL取余等于0就換行,也就是控制每行輸出多少個,
//而COL=10就是每行輸出10個
printf("\n");
}
}
printf("\n");
return
0;
}
我可以得知以下幾點:
斐波那契數(shù)列指的是這樣一個數(shù)列:1, 1, 2, 3, 5, 8, 13 …,從第三項開始,每一項都等于前兩項之和。
用C語言求斐波那契數(shù)列的一種常見方法是使用遞歸函數(shù),即定義一個函數(shù)fib(n),返回第n項的值,然后在函數(shù)體中調(diào)用fib(n-1)和fib(n-2)。
這種方法雖然簡單,但是效率很低,因為會重復(fù)計算很多次相同的值。例如,要計算fib(5),就要先計算fib(4)和fib(3),而計算fib(4)又要先計算fib(3)和fib(2),這樣就浪費了時間和空間。
另一種方法是使用數(shù)組或變量來存儲已經(jīng)計算過的值,避免重復(fù)計算。例如,定義一個數(shù)組a[500],初始化a[0]=1,a1=1,然后用循環(huán)從第三項開始依次計算并存入數(shù)組中:a[i]=a[i-1]+a[i-2]。