首页 > 其他分享 >fibnacci数列递归实现

fibnacci数列递归实现

时间:2022-10-06 21:36:45浏览次数:84  
标签:Fib 数列 递归 int fibnacci 斐波 那契

fibnacci数列递归实现

什么是fibnacci数列

斐波那契数列(Fibonacci sequence),又称“黄金分割”数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义: F (0)=0, F (1)=1, F (n)= F (n -1)+ F (n - (n ≥ 2, n ∈ N*)在现代物理、化学等领域,斐波那契数列都有直接的应用。为此,美国数学会从1963年起出版了以《斐波那契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

fibnacci数列的递归表达式:

F (0)=0, F (1)=1, F (n)= F (n -1)+ F (n -2)(n ≥ 2, n ∈ N*)

代码和运行结果截图

#include<stdio.h>
int Fib(int n)
{
int a;
if (0 == n)
{
return 0;
}
else if (1 == n)
{
return 1;
}
else
{
a = Fib(n - 1) + Fib(n - 2);
return a;
}
}
int main()
{
int n,a;
scanf_s("%d", &n);
a = Fib(n);
printf("%d", a);
return 0;
}
n=10没有问题,n>45就不行了。,可能是数太大而溢出。

GDB

1.一些文章:GDB的断点调试
GDB入门教程之查看函数调用堆栈
2.图片
3.一个疑问:为什么图中a = 0?

标签:Fib,数列,递归,int,fibnacci,斐波,那契
From: https://www.cnblogs.com/20221414youer/p/16754442.html

相关文章

  • 递归的概念以及迷宫问题
    1、概念递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。并且递归用到了虚拟机栈2、能解决的问题数学问......
  • Fibnacci数列递归实现
    1.什么是Fibnacci数列?斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指......
  • 【算法-简单01】合并2个有序数列
    合并2个有序数列结果:时间复杂度:O(N)空间复杂度:O(N)比较抽象的点结论:Node对象有3个属性:Node本身、val,以及Node.nextNode本身判空,结合while来进行遍历查询val......
  • 对于函数递归的理解
    递归的代码操作就是在自己未完成的函数之中调用自己这样看起来是并不合理的,因为在一个为完成的东西之中使用他自己,是不太现实的但是如果从代码执行的逻辑来进行理解的话,......
  • 算法竞赛备赛之浅谈递归
    递归递归需要有基例、递归前进段和递归返回段(return语句),是一种程序设计技巧,可以使程序编写简单,但实际上要付出低效率的代价计算时间复杂度常用数据的记忆(程序设计基本功,......
  • 程序员必备的基本算法:递归详解
    前言递归是一种非常重要的算法思想,无论你是前端开发,还是后端开发,都需要掌握它。在日常工作中,统计文件夹大小,解析xml文件等等,都需要用到递归算法。它太基础太重要了,这也是为......
  • 斐波那契数列
    什么是斐波那契数列斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2......
  • Java方法(递归)
    递归就是A方法调用A方法,就是自己调用自己利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求......
  • Fibnacci数列递归实现
    什么Fibnacci数列通过查阅斐波那契数列,其中,它是这么说的:斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例......
  • 【Vue3.x】全局组件、局部组件和递归组件
    全局组件没啥讲的,和vue2一样,常规是src下components文件夹下新建全局组件,然后去入口文件main.ts里注册全局组件。然后就能在全局使用了import{createApp}from'vue'i......