【算法】斐波那契数列通项公式
特征方程和通项公式
如果数列ana_nan的递推公式:an=c1an−1+c2an−2a_n=c_1a_{n-1}+c_2a_{n-2}an=c1an−1+c2an−2------(1)
根据待定系数法,假设an−xan−1=y(an−1−xan−2)a_n-xa_{n-1}=y(a_{n-1}-xa_{n-2})an−xan−1=y(an−1−xan−2)-----(2)
(1)和(2)比较得
根据韦达定理,x,yx,yx,y是方程t2−c1t−c2=0t^2-c_1t-c_2=0t2−c1t−c2=0的两个根,我们也将这个方程称为数列ana_nan的特征方程
根据方程(2)可以推出an−xan−1=yn−1(a1−xa0)a_n-xa_{n-1}=y^{n-1}(a_1-xa_0)an−xan−1=yn−1(a1−xa0)(等比数列)-----(3)
下面我们将两个根t1,t2t_1,t_2t1,t2分别带入方程(3)得
将(5)∗t1−(4)∗t2(5)*t_1-(4)*t_2(5)∗t1−(4)∗t2得
(t1−t2)an=(a1−t2a0)t1n−(a1−t1a0)t2n(t_1-t_2)a_n=(a_1-t_2a_0)t_1^n-(a_1-t_1a_0)t_2^n(t1−t2)an=(a1−t2a0)t1n−(a1−t1a0)t2n
再整理得
an=a1−t2a0t1−t2t1n−a1−t1a0t1−t2t2na_n=\frac{a_1-t_2a_0}{t_1-t_2}t_1^n-\frac{a_1-t_1a_0}{t_1-t_2}t_2^nan=t1−t2a1−t2a0t1n−t1−t2a1−t1a0t2n
而a0,a1,t1,t2a_0,a_1,t_1,t_2a0,a1,t1,t2均已知,可当作常项,于是ana_nan的通项公式:
an=At1n+Bt2na_n=At_1^n+Bt_2^nan=At1n+Bt2n
t1,t2t_1,t_2t1,t2是特征方程的两个根
A,BA,BA,B为常项,一般通过待定系数法求出
斐波那契通项公式
斐波那契数列的递推公式:an=an−1+an−2a_n=a_{n-1}+a_{n-2}an=an−1+an−2
于是特征方程为:x2−x−1=0x^2-x-1=0x2−x−1=0的两个根:x1=1+52x_1=\frac{1+\sqrt5}{2}x1=21+5和x2=1−52x_2=\frac{1-\sqrt5}{2}x2=21−5
则an=Ax1n+Bx2na_n=Ax_1^n+Bx_2^nan=Ax1n+Bx2n,将a1=1,a2=1a_1=1,a_2=1a1=1,a2=1带入可求得A=15,B=−15A=\frac{1}{\sqrt5},B=-\frac{1}{\sqrt5}A=51,B=−51
即通项公式:an=15[(1+52)n−(1−52)n]a_n=\frac{1}{\sqrt5}[(\frac{1+\sqrt5}{2})^n-(\frac{1-\sqrt5}{2})^n]an=51[(21+5)n−(21−5)n]
【算法】斐波那契数列通项公式相关推荐
- 斐波拉契数列通项公式
斐波拉契数列通项公式 当 即
- Java数据结构与算法---斐波那契数列Fibonacci
Java数据结构与算法-斐波那契数列Fibonacci 原理都很简单,直接上代码: package cn.m_fibonacci;public class Fibonacci {public stat ...
- 斐波那契数列通项公式的推导证明----举一反三
斐波那契数列通项公式的推导证明----举一反三 1-前言 2-斐波那契 2-1-什么是斐波那契 2-2-通项公式的证明 2-3-举一反三 1-前言 2021年5月20号的那天,有对象的都忙着约会秀恩爱 ...
- 利用生成函数求斐波那契数列通项公式
利用生成函数求斐波那契数列通项公式 先吐槽一下,学习这玩意儿的时候真的是深深的明白了自己的弱小,人家的一个"解得"我居然解了两个小时..qwq 前置知识 斐波那契数列: \[f_i ...
- 【斐波那契数列通项公式求解】
斐波那契数列,又称黄金分割数列,数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",该数列在数学上定义为 前几项为: 1,1,2,3,5,8,13,21,34 斐 ...
- python查询斐波那契数列通项公式_斐波那契数列求解总结(Python版)
最近在查阅斐波那契数列时,看到下面的文章,总结得非常好,于是自己上手使用 Python 练习并实现多种求解方法 守望:面试官问你斐波那契数列的时候不要高兴得太早zhuanlan.zhihu.com ...
- 趣学算法--斐波那契数列
14天阅读挑战赛 努力是为了不平庸~ 目录 1.神奇的兔子数列 1.1问题分析 1.2斐波那契数列 1.3算法设计 1.3.1递归代码 1.3.2递归的改进,O(n)的代码 1.3.3时间复杂度为O( ...
- 最优化算法-斐波那契数列搜索
斐波那契数列搜索,参考Edwin<最优化导论>第四版7.3章节,算法采用go语言实现. /****************************************** FileNa ...
- python查询斐波那契数列通项公式_分享一个神奇的操作系统——斐波那契+MACD,每一波都有20%以上的收益!...
斐波那契数列,又称兔子数列,或者黄金分割数列.指的是这样一个数列: 0.1.1.2.3.5.8.13.21--从第三项起,它的每一项都等于前两项的和. 为什么是兔子数列?我们假设兔子在出生两个月后,就 ...
最新文章
- 情人节到了!这枝18星「黑玫瑰」只送给你
- linux 操作系统安装配置vnc
- mysql隔离级别 举例_mysql的事务隔离级别举例
- ajax 上传读取excel
- C语言实现封装、继承、多态
- Windows Live Writer 测试
- 家里的宽带是300兆,路由器也是换的千兆的,为何网络还是不好?
- Vue 过滤器filters
- 大数据处理与开发课程设计——纽约出租车大数据分析
- android开发日记 ——avata项目
- 【基础服务-软路由】ESXI里ikuai+openwrt上网设置
- Visual Studio 2017美化(修改字体,图片背景)
- 长期招对日/赴日开发人才
- SpringBoot下结合使用Cacheable、CacheEvict和Scheduled注解轻松实现可过期本地缓存
- Android MTK Camera驱动代码分析
- Python |浅谈爬虫的由来
- c#file过滤多种格式_C# 文件过滤器filter
- Linux中禁用USB驱动存储
- web基础学习(六)CSS3 文字阴影、文本溢出、服务器字体
- 保姆级讲述Docker容器安装Redis全过程