首页 > 其他分享 >斐波那契数列

斐波那契数列

时间:2022-10-08 17:48:06浏览次数:70  
标签:Fib 数列 int long 斐波 那契

1.斐波那契数列

斐波那契数列是如下的数列:1, 1, 2, 3, 5, 8, 13...

其中,该数列的前两项是1,从第三项(包括第三项)开始第n项为第(n - 1)项与第(n - 2)项的和。

2.斐波那契数列递推公式

斐波那契数列的递推公式比较显然。斐波那契数列第n(n > 2)项的值【记作Fib(n)】为

Fib(n) = Fib(n - 2) + Fib(n - 1)

特殊地,若n为1或者2,那么Fib(n) = 1.

3.C语言代码递推实现

#include<stdio.h>

long long int Fibnacci(long long int n);

int main(){
  long long int n;
  scanf("%lld", &n);
  printf("%lld", Fibnacci(n));
  printf("\n");
  return 0;
}

long long int Fibnacci(long long int n){
  if(n == 1 || n == 2){
    return 1;
  }
  else if(n > 2){
    return (Fibnacci(n - 1) + Fibnacci(n - 2));
  }
return 0;
}

 

看得出来代码比较整洁。

实际运行时:

 

 只有Fib(10)能够比较快的运算出来。算100及以上的数字时花费了不少时间仍未结果,只能强行停止程序。

果然计算机不喜欢跑递归程序。

用数组循环等方式可以解决时间问题,速度比较快。

4.栈的状况

程序在调用函数时便会生成栈。

 

 以上时个人在输入100时的栈的状况,一小段时间后强行停止输出栈的状况才到30.看来计算机真的很不喜欢递归。

 

标签:Fib,数列,int,long,斐波,那契
From: https://www.cnblogs.com/Joci-zhuoxue/p/16769650.html

相关文章

  • 斐波那契数列
    fibnacci数列定义斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这......
  • 665 非递减数列
    三种情况:1、nums=[4,2,5],nums[i]<nums[i-1],此时只需要改变nums[i-1],[1,2,5]2、nums=[1,4,2,5],i>.1,nums[i]<nums[i-1],此时调整nums[i-1],满足nums[i-2]<=nums[i-1]<=nums[......
  • fibnacci数列递归实现
    1.斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2......
  • fibnacci数列递归实现
    1.斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2......
  • fibnacci数列
    fibnacci数列概念斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这......
  • fibnacci数列递归实现
    fibnacci数列递归实现什么是fibnacci数列斐波那契数列(Fibonaccisequence),又称“黄金分割”数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故......
  • Fibnacci数列递归实现
    1.什么是Fibnacci数列?斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指......
  • 【算法-简单01】合并2个有序数列
    合并2个有序数列结果:时间复杂度:O(N)空间复杂度:O(N)比较抽象的点结论:Node对象有3个属性:Node本身、val,以及Node.nextNode本身判空,结合while来进行遍历查询val......
  • 斐波那契数列
    什么是斐波那契数列斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2......
  • Fibnacci数列递归实现
    什么Fibnacci数列通过查阅斐波那契数列,其中,它是这么说的:斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例......