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

fibnacci数列递归实现

时间:2023-11-05 12:34:22浏览次数:31  
标签:数列 递归 int fibnacci long Fib

1.什么是fibnacci数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……不难发现,前两项的值各为1,从第三项起,每一项都是前两项的和。

2.fibnacci数列的递归表达式

F(0)=0(n=0);
F(1)=1(n=1);
F(n)=F(n-1)+F(n-2)(n>=2)n ∈ N*。

3.用C语言递归实现Fib(n)

#include <stdio.h>
long Fib(int n)
{
    long F;
    if (n==0) F = 0;
    else if (n==1) F = 1;
    else F = Fib(n-1) + Fib(n-2);
    return F;
}
int main()
{
    int n;
    printf("please enter a number:");
    scanf("%d",&n);
    printf("The Fibnacci Number is:%ld\n",Fib(n));
    return 0;
}

4.用GDB查看递归的堆栈情况

标签:数列,递归,int,fibnacci,long,Fib
From: https://www.cnblogs.com/besti-Wangmingxuan/p/17810397.html

相关文章

  • fibnacci数列
    1.fibnacci数列由百度百科,斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1,F(n)=F(n-1)+......
  • fibnacci数列递归实现
    网上查询资料说明什么是fibnacci数列?斐波那契数列是一个无限的整数序列,其定义如下:序列中的前两个数字是0和1,从第三个数字开始,每个数字都是前两个数字的和。也就是说,斐波那契数列的前几个数字是0,1,1,2,3,5,8,13,21,以此类推。给出fibnacci数列的递归表达式。F(0)=0F......
  • 地排划分 --- 递归
    includeiostream>usingnamespacestd;ints(inta,intb){if(a==b){return1;}if(a>b){swap(a,b);}returns(a,b-a)+1;}intmain(){inta,b;cin>>a>>b;cout<<s(a,b);return0;}......
  • 四个代码融合 依次:小青蛙上台阶 ;求阶乘;求最大公因数;地盘划分(均为递归算法)
    小壁灯上楼梯#include<iostream>usingnamespacestd;inta(intc){if(c<=2){returnc;}else{returna(c-1)+(c-2);}}intmain(intargc,char**argv){intc,k;cin>>c;cout<<a(c);return0;}......
  • 地盘划分 递归
    地盘划分【例】将一个给定的矩形划分为一个个正方形,其规则是先从矩形中划分出一个尽可能大的正方形,接下来,在剩下的矩形中再划分出一个尽可能大的一个正方形,以此类推。例如,宽*长为3*4的矩形,最少可划分为4个正方形,也就是说。取走一个3*3的正方形后,将问题规模变成3*1,然后变为2*1,最后......
  • 地盘划分(递归)
    #include<iostream>#include<algorithm>#include<cstdio>usingnamespacestd;longlonga,b,c,s=0;intmain(){scanf("%lld",&a);scanf("%lld",&b);while(a>1){if(b>a){c=a;a=b;b=c;}......
  • fibnacci数列递归实现
    fibnacci数列递归实现1.什么是fibnacci数列斐波那契数列指的是一个数列从第三项开始每一项都等于前两项之和。如1,1,2,3,5,8,13,21,34,.......下图为一个几何理解图2.fibnacci数列的递归表达式F(n)=F(n-1)+F(n-2)就是中学所学递推公式3.用C语言递归实现Fib(n)C......
  • 后序遍历非递归(作业
    #define_CRT_SECURE_NO_WARNINGS#defineMax64#include<stdio.h>#include<stdlib.h>//二叉树的定义typedefstructnode{ chardata; intvisit; structnode*lchild; structnode*rchild;}bitree;//栈的定义typedefstruct{ bitree*data[Max]; in......
  • fibnacci数列递归实现
    fibnacci数列递归实现1.网上查询资料说明什么是fibnacci数列?Fibonacci数列是一个整数序列,由意大利数学家LeonardoFibonacci在《计算之书》中提出,序列中的数字是前两个数字的和。序列的前几个数字是:0,1,1,2,3,5,8,13,21,34,...。这个序列以0和1开始,之后的每个数字都......
  • 查询算法——顺序查找(优化),二分查找(递归)
    顺序查找顺序查找又称为线性查找,是一种最简单的查找方法。适用于线性表的顺序存储结构和链式存储结构,从第一个元素开始逐个与需要查找的元素x进行比较,当比较到元素值相同时,返回元素m的下标,如果比较到最后都没有找到,则返回-1;时间复杂度为O(n)点击查看代码publicstaticvoidm......