資源描述:
《k階斐波那契數(shù)列的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、斐波那契(Fibonacci)數(shù)列1算法分析:1算法的實(shí)現(xiàn):1計(jì)算一元多項(xiàng)式:2斐波那契(Fibonacci)數(shù)列算法分析:首先看這樣一個(gè)有趣的問題:假定一個(gè)月大小的一對(duì)兔子(雄和雌的),對(duì)于繁殖還太年輕,但兩個(gè)月大小的兔子便足夠成熟。又假定從第二個(gè)月開始,每個(gè)月它們都繁殖一對(duì)新的兔子(正好是雌雄一對(duì)),如果每一對(duì)兔子的繁殖按上面所說的方式,從開始起每個(gè)月有多少對(duì)兔子呢????解答:??我們可以用合適的圖示來表明題意:????即每個(gè)月兔子的數(shù)量是:?1,1,2,3,5,8,13,21,34…其規(guī)律是從第三項(xiàng)起,每一項(xiàng)都是前兩項(xiàng)的和.用遞推公式表達(dá)就是:a[1]=a[2]=1,a[n]=
2、a[n-1]十a(chǎn)[n-2](n>=3)此處k=2;作業(yè)上的遞推公式:f[0]=0,f[1]=0,……,f[k-2]=0,f[k-1]=1f[n]=f[n-1]+f[n-2]+……+f[n-k],n=k,k+1,……此處k為大于3的任意整數(shù);算法的實(shí)現(xiàn):#include"stdafx.h"#include"iostream.h"#include"stdlib.h"http://Fibonacci函數(shù)intfibonacci(intk,intm)//k為階數(shù),m為待計(jì)算項(xiàng){int*f;//數(shù)列數(shù)組inti;//計(jì)算數(shù)列項(xiàng)控制變量intj;if(k<2
3、
4、m<0)return-1;//判斷數(shù)據(jù)取值超出
5、界限否f=(int*)malloc(m*sizeof(int));//申請(qǐng)數(shù)列使用空間if(f==NULL)return-1;else{for(i=0;i6、數(shù)intm;//求解的數(shù)列通項(xiàng)項(xiàng)數(shù)intresult;//輸入數(shù)據(jù)cout<<"Enterk=";cin>>k;cout<>m;//調(diào)用函數(shù)result=fibonacci(k,m);//輸出結(jié)果if(result==-1)cout<<"INPUTERROR!!"<#definemaxsize50main(){intm,n,d,i,count;intA[maxsize];printf("請(qǐng)輸入n,m的值,以逗號(hào)
7、分開:");scanf("%d,%d",&n,&m);for(i=0;i