递归函数练习:输出菲波拉契(Fibonacci)数列的前N项数据

时间:2024-01-07 21:49:20
/*======================================================================
著名的菲波拉契(Fibonacci)数列,其第一项为0,第二项为1,从第三项开始,
其每一项都是前两项的和。编程求出该数列前N项数据。 注意:
Fibonacci数列的递归是“双线”递归,可以画出类似树形结构的递归树。
它不是纯粹的“单线”递归然后再“单线”回溯。
所以,这个题目的没有办法像“输出十进制数的二进制表示”这样,在递归函数的递归阶段或者回溯阶段输出数据。
输出十进制数的二进制表示: http://www.cnblogs.com/huashanqingzhu/p/3579650.html
========================================================================*/
#include<stdio.h>
int fbi(int i);//递归函数:输出数列的第i项数据 .这里i从0开始计算。int main()
{
int i,N;
scanf("%d",&N);
for(i=;i<N;i++)
printf("%d ",fbi(i));
return ;
}
int fbi(int i)//递归函数:输出数列的第i项数据 .这里i从0开始计算。
{
if(i<)
{
return i;
}
else
{
return fbi(i-)+fbi(i-);
}
}