裴波那契数列与递归

原创 2016年08月30日 09:22:42

裴波那契数列就是一个序列,这个数列有个十分明显的特点,那是:前面相邻两项之和,构成了后一项,例如:1,1,2,3,5,8,13。

我们用迭代的办法如何实现这个数列

void Fbi(int n)
{
    if(n == 0)
        printf("please input n > 0\n");
    if(n == 1)
        printf("1\n");
    else if(n == 2)
        printf("1  1\n");
    else{
        int a[n];
        a[0] = 1;
        a[1] = 1;
        printf("1  1");
        for (int  i = 2; i < n; i++) {
            a[i] = a[i-1] + a[i-2];
            printf("  %d",a[i]);
        }
    }
}

递归函数实现

int Fbi(int i)
{
    if(i < 2)
        return i == 0 ? 0 : 1;
    return Fbi(i - 1) + Fbi(i - 2);
}

递归的定义:把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称做递归函数。

每一个递归定义必须至少有一个条件,满足时递归不再进行,即不再已引用自身而返回值退出

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

求裴波那契数列的第n项---递归+改进

裴波那契数列的第n项,可以很简单的使用递归,但是递归很多层之后有可能会造成栈溢出,而且速度也不一定会快。只是方法简单了,当面临大量的计算层数的时候递归并不是很好的选择。改进方法就是保存每次计算的结果,...

裴波那契数列 C++版

/* 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、 2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以 递归的方法定义:F(0)=0,F(1)=1,F(n)=F...

裴波那契数列的递归实现与非递归实现

斐波那契数列是数学家列昂纳多·斐波那契(Leonardoda Fibonacci[1]  )以兔子繁殖为例子而引入,也称为“兔子数列”。 指的是这样一个数列:0、1、1、2、3、5、8、13、21、3...

裴波那契数列与应用

13世纪初,意大利数学家 裴波那契(Fibonacci) 在所著的《算盘书》中提出“兔子生崽”的趣题: 假设兔子出生后两个月就能生小兔,且每月一次,每次不多不少恰好一对(一雌一雄),若开始时有初生的小...

奇妙的裴波那契数列和黄金分割

“斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年。籍贯大概是比萨)。他被人称作“比萨的列昂纳多”。1202年,他撰写...
  • grewumi
  • grewumi
  • 2012年11月19日 20:09
  • 1448

Python yield 使用浅析 ----以裴波那契数列生成为例

您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示 yield ...

java编程题之裴波那契数列

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数为多少? 下边的分析是通过Excel表格做出来的,因为不知道它具...
  • renfng
  • renfng
  • 2017年05月18日 17:48
  • 487

裴波那数列的计算

今天看到了一篇文章关于如何求解裴波那数列的方法。觉得叙述得很好。斐波那契数列的定义如下: f(1) = f(2) = 1; f(n) = f(n-1) + f(n-2);...

java实现裴波那契堆

当时看到裴波那契堆的时候觉得没什么,后来看到图这部分的时候,发现他比较重要,于是实现以下 package tree; import java.util.HashSet; import java.ut...

裴波那契大数相加问题

现在给你m个1,你可以把2个1组合成一个2 111 可以拆分为 111 、12、 21 有三种 输入 第一行输入一个n表示有n个测试数据 以下n行,每行输入m个1 (1 输出输出这种...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:裴波那契数列与递归
举报原因:
原因补充:

(最多只允许输入30个字)