递归函数练习:输出菲波拉契(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);
    }
}

 

 

 

 

相关文章
|
5月前
|
机器学习/深度学习 算法
【算法基础】筛质数
【算法基础】筛质数
32 0
|
7月前
欧拉筛(最优的方法,对于找质数,细节讲解)
欧拉筛(最优的方法,对于找质数,细节讲解)
45 0
|
3月前
|
算法 C++ Java
C/C++每日一练(20230421) 位1的个数、递归和非递归求和、俄罗斯套娃信封问题
C/C++每日一练(20230421) 位1的个数、递归和非递归求和、俄罗斯套娃信封问题
23 0
C/C++每日一练(20230421) 位1的个数、递归和非递归求和、俄罗斯套娃信封问题
|
8月前
|
算法 C语言 C++
【数论】试除法判断质数,分解质因数,筛质数
将定义进行模拟,若整除了除1与其自身的另外的数,则为质数
72 0
|
10月前
|
编译器 C语言
##求斐波拉数列的前40项
##求斐波拉数列的前40项
39 0
|
11月前
leetcode剑指offer53–n-1中缺失的数字(二分//or等差数列)
leetcode剑指offer53–n-1中缺失的数字(二分//or等差数列)
|
12月前
(博弈)(思维)(试除法判断质数)B - 是我仅会的GCD还是素数筛呢? G. Goodbye
(博弈)(思维)(试除法判断质数)B - 是我仅会的GCD还是素数筛呢? G. Goodbye
35 0
对分查找、欧几里得算法求最大公约数
对分查找、欧几里得算法求最大公约数
|
存储 算法
【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法
【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法
116 0
【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法
C语言(冒泡排序思想及代码实现)(分别用递归和非递归实现斐波拉系数)(数组)(函数)
C语言(冒泡排序思想及代码实现)(分别用递归和非递归实现斐波拉系数)(数组)(函数)
C语言(冒泡排序思想及代码实现)(分别用递归和非递归实现斐波拉系数)(数组)(函数)