首页 > 其他分享 >fibnacci数列

fibnacci数列

时间:2023-11-05 11:55:36浏览次数:43  
标签:数列 int fibnacci long Fib answer

1.fibnacci数列

百度百科,斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。

2.递归表达式

3.C语言实现递归

代码:

#include <stdio.h>
#include <stdlib.h>
long long Fib(int n);
int main()
{
    int n;
    long long answer;
    printf("n=");
    scanf("%d",&n);
    answer=Fib(n);
    if(answer==-1)
        printf("Input data error!");
        else
            printf("%lld\n",answer);
    return 0;
}

long long Fib(int n)
{
    long long result;
    if(n<=0)
        return -1;
    else
    {
        if(n==1||n==2)
            result=1;
        else
            result=Fib(n-1)+Fib(n-2);
        return result;
    }
}


运行结果:我计算了n=10,20,30,40,50的情况,到n=40时间都还很短,n=50时时间已经超过1分钟了,那就没必要继续测试了。

标签:数列,int,fibnacci,long,Fib,answer
From: https://www.cnblogs.com/eleslsel/p/17810248.html

相关文章

  • fibnacci数列递归实现
    网上查询资料说明什么是fibnacci数列?斐波那契数列是一个无限的整数序列,其定义如下:序列中的前两个数字是0和1,从第三个数字开始,每个数字都是前两个数字的和。也就是说,斐波那契数列的前几个数字是0,1,1,2,3,5,8,13,21,以此类推。给出fibnacci数列的递归表达式。F(0)=0F......
  • 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......
  • fibnacci数列递归实现
    fibnacci数列递归实现1.网上查询资料说明什么是fibnacci数列?Fibonacci数列是一个整数序列,由意大利数学家LeonardoFibonacci在《计算之书》中提出,序列中的数字是前两个数字的和。序列的前几个数字是:0,1,1,2,3,5,8,13,21,34,...。这个序列以0和1开始,之后的每个数字都......
  • fibnacci数列递归/迭代实现
    什么是fibnacci数列?斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-......
  • 斐波那契数列
    1.什么是斐波那契数列斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……2.递归表达式F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)。......
  • 38.外观数列(中等)
    目录题目法一、双指针法二、递归题目给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1)="1"countAndSay(n)是对countAndSay(n-1)......
  • python---数列内元素正倒相加实例
    a=list([1,21,5,3,1,23])b=list([7,4,6,3,2,1])x=int(input("请输入想从第几个数开始:"))y=int(input("请输入想到第几个数结束:"))c=[0,0,0,0,0,0]m=input("想要正着加吗?(T/F)")foriinrange(x-1,y):ifm=="T":c=a[i]+b[i]......
  • 斐波那契数列 (指针)
    //指针#include<bits/stdc++.h>usingnamespacestd;intsum(int*a){intb=*a-1,c=*a-2;if(*a<=2){return1;}else{returnsum(&b)+sum(&c);}}intmain(){intx,a;cin>>a;x=sum(&a);......
  • 斐波那契数列--按值--地址--指针
    //按值#include<bits/stdc++.h>usingnamespacestd;intsum(inta){ if(a<=2){ return1; }else{ returnsum(a-1)+sum(a-2); } }intmain(){ intx,c,d; cin>>c; x=sum(c); cout<<x; return0;}//地址#include<bits/stdc++.h&g......
  • 斐波那契数列(指针传递)
    #include<bits/stdc++.h>usingnamespacestd;intNUM(int*a){intb=*a-1;intc=*a-2;if(*a<=2)return1;elsereturnNUM(&b)+NUM(&c);}intmain(){intNUMx,NUMy;cin>>NUMx;cout<<N......