(四)斐波那契数列

一 理论:

1.斐波那契数列:每一项均为前两项之和

2.除了0,1之外的通项公式:F(0)= 0,F(1)=1,f(n)=f(n-1)+f(n-2)

3.O(n)的时间归纳法:

二 实践:

#include <iostream>

int fib(int n){
    if (n < 2)
        return n;
    else
        return fib(n-1) + fib(n-2);
}

int main(){
    for(int i = 0 ; i < 50; i ++){
        std::cout<<fib(i)<<std::endl;
    }
}


三 疑问:

为什么这个数列最后三个数很明显不是前两个数的和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
斐波那契数列是一个经典的数学问题,它定义如下:前两个数字为0和1,随后的每个数字都是前两个数字之和。现在我将为您介绍种计算斐波那契数列的方法。 方法一:递归法 递归法是最直观的方法之一,它通过将问题分解为更小的子问题来计算斐波那契数列。具体步骤如下: 1. 如果n等于0或1,直接返回n作为结果。 2. 否则,通过递归调用计算n-1和n-2的斐波那契数列,并将两者相加作为结果返回。 方法二:迭代法 迭代法是另一种常用的计算斐波那契数列的方法,它使用循环来逐步计算斐波那契数列的每个数字。具体步骤如下: 1. 初始化变量a和b为0和1。 2. 使用循环从2到n依次计算每个斐波那契数列的数字,每次迭代中,更新a和b的值为前两个数字之和,并将结果保存在b中。 3. 循环结束后,返回b作为结果。 方法三:矩阵幂法 矩阵幂法是一种高效的计算斐波那契数列的方法,它利用矩阵乘法的性质来快速计算斐波那契数列。具体步骤如下: 1. 定义一个2x2的矩阵F,其中F和F[1]分别为0和1,F和F分别为1和1。 2. 使用矩阵乘法将F的n次方计算出来,得到一个2x2的结果矩阵R。 3. 返回R作为结果。 方法:公式法 斐波那契数列还可以通过数学公式直接计算出来。根据斐波那契数列的定义,可以使用以下公式来计算第n个斐波那契数: Fn = (φ^n - (-φ)^(-n)) / √5, 其中φ是黄金比例(约为1.61803),上标n表示n次方。 这些是种常用的计算斐波那契数列的方法。您可以根据具体情况选择适合您的方法来计算斐波那契数列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值