1. 程式人生 > >C語言遞迴解決fibonacci數列演算法

C語言遞迴解決fibonacci數列演算法

斐波那契數列的遞迴條件是

F(n)=1   n=0,

F(n)=1   n=1,

F(n)=F(n-1)+F(n-2)   n>1;

可以直接寫出遞迴函式

int f(int n)

{

if(n<=1)

return 1;

else

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

}

原始碼就是

#include<stdio.h>


int fib(int n){   //求fibonacci數列第n個數
    if(n==1 || n==2) return 1;
    else return fib(n-1) + fib(n-2);
}
void main(){
int a=0,sum;
printf("請輸入正整數N:");
scanf_s("%d",&a);
for(int i=a;i>0;i--)
{
    sum=fib(i);
printf("fibonacci數列第%d個數:%d\n",i,sum);}

}