斐波那契数列是指1、1、2、3、5、8、13、21、34、55、89……这样的数列。 从3项开始分别是前2项之和。
用递归方法定义,如下所示
f(0)=1; f(1)=1; f(n )=f ) n-1 ) f ) n-2 ) (n=2,n(n* ) ) ) ) ) ) ) ) f ) 652
可以用循环法、指针数组法来实现,最适合递归方法使用。
1、指针数组法
//指针数组法voidshow(int*arr,int len ) for ) intI=0; ilen; I ) (printf )、arr ) I ); }printf((n ); }voidfibon(int*arr,int len ) {arr[0]=1; arr[1]=1; for(intI=2; ilen; I ) arr(I )=arr(I-1 ) arr (I-2 ); }}int main () {int brr[10]={ }; intlen=sizeof(BRR )/sizeof ) BRR[0]; FIBon(BRR,len ); show(BRR,len ); 返回0; ) 2、循环法
//循环法intfibon_for(intn )/o ) n ),o )1) ) {int f1=1; int f2=1; int f3=1; for(intI=1; in; I ) {f3=f1 f2; f1=f2; f2=f3; }return f3; (}int main ) ) for ) intI=0; i10; I ) {printf('%d ',Fibon_for(i ) I ); }return 0; } 3、递归法(最不适合使用) )
//递归法(最不善于使用递归(intfibon ) intn ) if ) n==0|||n==1) {return 1; }else{returnfibon(n-1 ) fib on (n-2 ); }}int main () printf ) ' %dn ',fibon ) 10 ); 返回0; }