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);}

}




猜你喜欢

转载自blog.csdn.net/eternitybubble/article/details/81053847