递归函数练习:输出菲波拉契(Fibonacci)数列的前N项数据-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

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

简介: /*====================================================================== 著名的菲波拉契(Fibonacci)数列,其第一项为0,第二项为1,从第三项开始, 其每一项都是前两项的和。
/*======================================================================
著名的菲波拉契(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=0;i<N;i++)
        printf("%d ",fbi(i));
    return 0;
}
int fbi(int i)//递归函数:输出数列的第i项数据 .这里i从0开始计算。 
{
    if(i<2)
    {
        return i;
    }
    else 
    {
        return fbi(i-1)+fbi(i-2);
    }
}

 

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: