Fibonacci 数列
斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。
斐波那契数列通项公式
通项公式
(见图)(又叫“比内公式”,是用无理数表示有理数的一个范例。) 注:此时a1=1,a2=1,an=a(n-1)+a(n-2)(n>=3,n∈N*)
通项公式的推导
斐波那契数列:1、1、2、3、5、8、13、21、…… 如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式: F(0) = 0,F⑴=1,F(n)=F(n-1)+F(n-2) (n≥2), 显然这是一个线性递推数列。 方法一:利用特征方程(线性代数解法) 线性递推数列的特征方程为: X^2=X+1 解得 X1=(1+√5)/2,,X2=(1-√5)/2。 则F(n)=C1*X1^n + C2*X2^n。 ∵F⑴=F⑵=1。 ∴C1*X1 + C2*X2。 C1*X1^2 + C2*X2^2。 解得C1=√5/5,C2=-√5/5。 ∴F(n)=(√5/5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}(√5表示根号5)。 方法二:待定系数法构造等比数列1(初等代数解法) 设常数r,s。 使得F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]。 则r+s=1, -rs=1。 n≥3时,有。 F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]。 F(n-1)-r*F(n-2)=s*[F(n-2)-r*F(n-3)]。 F(n-2)-r*F(n-3)=s*[F(n-3)-r*F(n-4)]。 …… F⑶-r*F⑵=s*[F⑵-r*F⑴]。 联立以上n-2个式子,得: F(n)-r*F(n-1)=[s^(n-2)]*[F⑵-r*F⑴]。 ∵s=1-r,F⑴=F⑵=1。 上式可化简得: F(n)=s^(n-1)+r*F(n-1)。 那么: F(n)=s^(n-1)+r*F(n-1)。 = s^(n-1) + r*s^(n-2) + r^2*F(n-2)。 = s^(n-1) + r*s^(n-2) + r^2*s^(n-3) + r^3*F(n-3)。 …… = s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)*F⑴。 = s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)。 (这是一个以s^(n-1)为首项、以r^(n-1)为末项、r/s为公比的等比数列的各项的和)。 =[s^(n-1)-r^(n-1)*r/s]/(1-r/s)。 =(s^n - r^n)/(s-r)。 r+s=1, -rs=1的一解为 s=(1+√5)/2,r=(1-√5)/2。 则F(n)=(√5/5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}。 方法三:待定系数法构造等比数列2(初等代数解法) 已知a1=1,a2=1,an=a(n-1)+a(n-2)(n>=3),求数列{an}的通项公式。 解 :设an-αa(n-1)=β(a(n-1)-αa(n-2))。 得α+β=1。 αβ=-1。 构造方程x^2-x-1=0,解得α=(1-√5)/2,β=(1+√5)/2或α=(1+√5)/2,β=(1-√5)/2。 所以。 an-(1-√5)/2*a(n-1)=(1+√5)/2*(a(n-1)-(1-√5)/2*a(n-2))=[(1+√5)/2]^(n-2)*(a2-(1-√5)/2*a1)`````````1。 an-(1+√5)/2*a(n-1)=(1-√5)/2*(a(n-1)-(1+√5)/2*a(n-2))=[(1-√5)/2]^(n-2)*(a2-(1+√5)/2*a1)`````````2。 由式1,式2,可得。 an=[(1+√5)/2]^(n-2)*(a2-(1-√5)/2*a1)``````````````3。 an=[(1-√5)/2]^(n-2)*(a2-(1+√5)/2*a1)``````````````4。 将式3*(1+√5)/2-式4*(1-√5)/2,化简得an=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}。
与黄金分割的关系
有趣的是:这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,后一项与前一项的比值越来越逼近黄金分割1.618.(或者说后一项与前一项的比值小数部分越来越逼近黄金分割0.618、前一项与后一项的比值越来越逼近黄金分割0.618) 1÷1=1,2÷1=2,3÷2=1.5,5÷3=1.666...,8÷5=1.6,…………,89÷55=1.6181818…,…………233÷144=1.618055…75025÷46368=1.6180339889…... 越到后面,这些比值越接近黄金比. 证明: a[n+2]=a[n+1]+a[n]。 两边同时除以a[n+1]得到: a[n+2]/a[n+1]=1+a[n]/a[n+1]。 若a[n+1]/a[n]的极限存在,设其极限为x, 则lim[n->;;∞](a[n+2]/a[n+1])=lim[n->;;∞](a[n+1]/a[n])=x。 所以x=1+1/x。 即x²=x+1。 所以极限是黄金分割比..
编辑本段奇妙的属性
斐波那契数列中的斐波那契数会经常出现在我们的眼前——比如松果、凤梨、树叶的排列、某些花朵的花瓣数(典型的有向日葵花瓣),蜂巢,蜻蜓翅膀,超越数e(可以推出更多),黄金矩形、黄金分割、等角螺线,十二平均律等。 随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值0.6180339887…… 从第二项开始,每个奇数项的平方都比前后两项之积多1,每个偶数项的平方都比前后两项之积少1。(注:奇数项和偶数项是指项数的奇偶,而并不是指数列的数字本身的奇偶,比如第四项3是奇数,但它是偶数项,第五项5是奇数,它是奇数项,如果认为数字3和5都是奇数项,那就误解题意,怎么都说不通)因为:经计算可得:an^2-a<n-1>a<n+1>=(-1)^(n-1)
多了的一在哪?
如果你看到有这样一个题目: 某人把一个8*8的方格切成四块,拼成一个5*13的长方形,故 作惊讶地问你:为什么64=65?其实就是利用了斐波那契数列的这个性质:5、8、13正是数列中相邻的三项,事实上前后两块的面积 确实差1,只不过后面那个图中有一条细长的狭缝,一般人不容易注意到。 斐波那契数列的第n项同时也代表了集合{1,2,...,n}中所有不包含相邻正整数的子集个数。 斐波那契数列(f(n),f(0)=0,f⑴=1,f⑵=1,f⑶=2……)的其他性质: 1.f(0)+f⑴+f⑵+…+f(n)=f(n+2)-1。 2.f⑴+f⑶+f⑸+…+f(2n-1)=f(2n)。 3.f⑵+f⑷+f⑹+…+f(2n) =f(2n+1)-1。 4.[f(0)]^2+[f⑴]^2+…+[f(n)]^2=f(n)·f(n+1)。 5.f(0)-f⑴+f⑵-…+(-1)^n·f(n)=(-1)^n·[f(n+1)-f(n)]-1。 6.f(m+n-1)=f(m-1)·f(n-1)+f(m)·f(n)。 利用这一点,可以用程序编出时间复杂度仅为O(log n)的程序。 怎样实现呢?伪代码描述一下 7.[f(n)]^2=(-1)^(n-1)+f(n-1)·f(n+1)。 8.f(2n-1)=[f(n)]^2-[f(n-2)]^2。 9.3f(n)=f(n+2)+f(n-2)。 10.f(2n-2m-2)[f(2n)+f(2n+2)]=f(2m+2)+f(4n-2m) [ n〉m≥-1,且n≥1]
斐波那契数列
11.f(2n+1)=[f(n)]^2+[f(n+1)]^2. 12.f(2n)/f(n)=f(n-1)+f(n+1)
在杨辉三角中隐藏着斐波那契数列
将杨辉三角依次下降,成如图所示排列,将同一行的数加起来,即得一数列1、1、2、3、5、8、…… 公式表示如下: f⑴=C(0,0)=1。 f⑵=C(1,0)=1。 f⑶=C(2,0)+C(1,1)=1+1=2。 f⑷=C(3,0)+C(2,1)=1+2=3。 f⑸=C(4,0)+C(3,1)+C(2,2)=1+3+1=5。 f⑹=C(5,0)+C(4,1)+C(3,2)=1+4+3=8。 F⑺=C(6,0)+C(5,1)+C(4,2)+C(3,3)=1+5+6+1=13。 …… F(n)=C(n-1,0)+C(n-2,1)+…+C(n-1-m,m) (m<=n-1-m)
斐波那契数列的整除性与素数生成性
每3个数有且只有一个被2整除, 每4个数有且只有一个被3整除, 每5个数有且只有一个被5整除, 每6个数有且只有一个被8整除, 每7个数有且只有一个被13整除, 每8个数有且只有一个被21整除, 每9个数有且只有一个被34整除, ....... 我们看到第5、7、11、13、17、23位分别是素数:5,13,89,233,1597,28657(第19位不是) 斐波那契数列的素数无限多吗?
斐波那契数列的个位数:一个60步的循环
11235,83145,94370,77415,61785.38190, 99875,27965,16730,33695,49325,72910…
斐波那契数与植物花瓣
3………………………百合和蝴蝶花 5………………………蓝花耧斗菜、金凤花、飞燕草、毛茛花 8………………………翠雀花 13………………………金盏
和玫瑰 21………………………紫宛 34、55、89……………雏菊 斐波那契数还可以在植物的叶、枝、茎等排列中发现。例如,在树木的枝干上选一片叶子,记其为数0,然后依序点数叶子(假定没有折损),直到到达与那些叶子正对的位置,则其间的叶子数多半是斐波那契数。叶子从一个位置到达下一个正对的位置称为一个循回。叶子在一个循回中旋转的圈数也是斐波那契数。在一个循回中叶子数与叶子旋转圈数的比称为叶序(源自希腊词,意即叶子的排列)比。多数的叶序比呈现为斐波那契数的比。
编辑本段斐波那契—卢卡斯数列与广义斐波那契数列
斐波那契—卢卡斯数列
卢卡斯数列1、3、4、7、11、18…,也具有斐波那契数列同样的性质。(我们可称之为斐波那契—卢卡斯递推:从第三项开始,每一项都等于前两项之和f(n) = f(n-1)+ f(n-2))。 这两个数列还有一种特殊的联系(如下表所示),F(n)*L(n)=F(2n),及L(n)=F(n-1)+F(n+1)
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | … |
斐波那契数列F(n) | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | … |
卢卡斯数列L(n) | 1 | 3 | 4 | 7 | 11 | 18 | 29 | 47 | 76 | 123 | … |
F(n)*L(n) | 1 | 3 | 8 | 21 | 55 | 144 | 377 | 987 | 2584 | 6765 | … |
类似的数列还有无限多个,我们称之为斐波那契—卢卡斯数列。 如1,4,5,9,14,23…,因为1,4开头,可记作F[1,4],斐波那契数列就是F[1,1],卢卡斯数列就是F[1,3],斐波那契—卢卡斯数列就是F[a,b]。
斐波那契—卢卡斯数列之间的广泛联系
①任意两个或两个以上斐波那契—卢卡斯数列之和或差仍然是斐波那契—卢卡斯数列。 如:F[1,4]n+F[1,3]n=F[2,7]n,F[1,4]n-F[1,3]n=F[0,1]n=F[1,1](n-1),
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | … |
F[1,4]n | 1 | 4 | 5 | 9 | 14 | 23 | 37 | 60 | 97 | 157 | … |
F[1,3]n | 1 | 3 | 4 | 7 | 11 | 18 | 29 | 47 | 76 | 123 | … |
F[1,4]n-F[1,3]n | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | … |
F[1,4]n+F[1,3]n | 2 | 7 | 9 | 16 | 25 | 41 | 66 | 107 | 173 | 280 | … |
②任何一个斐波那契—卢卡斯数列都可以由斐波那契数列的有限项之和获得,如
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | … |
F[1,1](n) | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | … |
F[1,1](n-1) | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | … |
F[1,1](n-1) | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | … |
F[1,3]n | 1 | 3 | 4 | 7 | 11 | 18 | 29 | 47 | 76 | 123 | … |
黄金特征与孪生斐波那契—卢卡斯数列
斐波那契—卢卡斯数列的另一个共同性质:中间项的平方数与前后两项之积的差的绝对值是一个恒值, 斐波那契数列:|1*1-1*2|=|2*2-1*3|=|3*3-2*5|=|5*5-3*8|=|8*8-5*13|=…=1 卢卡斯数列:|3*3-1*4|=|4*4-3*7|=…=5 F[1,4]数列:|4*4-1*5|=11 F[2,5]数列:|5*5-2*7|=11 F[2,7]数列:|7*7-2*9|=31 斐波那契数列这个值是1最小,也就是前后项之比接近黄金比例最快,我们称为黄金特征,黄金特征1的数列只有斐波那契数列,是独生数列。卢卡斯数列的黄金特征是5,也是独生数列。前两项互质的独生数列只有斐波那契数列和卢卡斯数列这两个数列。 而F[1,4]与F[2,5]的黄金特征都是11,是孪生数列。F[2,7]也有孪生数列:F[3,8]。其他前两项互质的斐波那契—卢卡斯数列都是孪生数列,称为孪生斐波那契—卢卡斯数列。
广义斐波那契数列
斐波那契数列的黄金特征1,还让我们联想到佩尔数列:1,2,5,12,29,…,也有|2*2-1*5|=|5*5-2*12|=…=1(该类数列的这种特征值称为勾股特征)。 佩尔数列Pn的递推规则:P1=1,P2=2,Pn=P(n-2)+2P(n-1). 据此类推到所有根据前两项导出第三项的通用规则:f(n) = f(n-1) * p + f(n-2) * q,称为广义斐波那契数列。 当p=1,q=1时,我们得到斐波那契—卢卡斯数列。 当p=1,q=2时,我们得到佩尔—勾股弦数(跟边长为整数的直角三角形有关的数列集合)。 当p=-1,q=2时,我们得到等差数列。其中f1=1,f2=2时,我们得到自然数列1,2,3,4…。自然数列的特征就是每个数的平方与前后两数之积的差为1(等差数列的这种差值称为自然特征)。 具有类似黄金特征、勾股特征、自然特征的广义斐波那契数列p=±1。 当f1=1,f2=2,p=2,q=1时,我们得到等比数列1,2,4,8,16……
编辑本段相关的数学问题
1.排列组合
有一段楼梯有10级台阶,规定每一步只能跨一级或两级,要登上第10级台阶有几种不同的走法? 这就是一个斐波那契数列:登上第一级台阶有一种登法;登上两级台阶,有两种登法;登上三级台阶,有三种登法;登上四级台阶,有五种登法…… 1,2,3,5,8,13……所以,登上十级,有89种走法。 类似的,一枚均匀的硬币掷10次,问不连续出现正面的可能情形有多少种? 答案是(1/√5)*{[(1+√5)/2]^(10+2) - [(1-√5)/2]^(10+2)}=144种。
2.数列中相邻两项的前项比后项的极限
当n趋于无穷大时,F(n)/F(n+1)的极限是多少? 这个可由它的通项公式直接得到,极限是(-1+√5)/2,这个就是黄金分割的数值,也是代表大自然的和谐的一个数字。 3.求递推数列a⑴=1,a(n+1)=1+1/a(n)的通项公式 由数学归纳法可以得到:a(n)=F(n+1)/F(n),将斐波那契数列的通项式代入,化简就得结果。
3.兔子繁殖问题(关于斐波那契数列的别名)
斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子? 我们不妨拿新出生的一对小兔子分析一下: 第一个月小兔子没有繁殖能力,所以还是一对 两个月后,生下一对小兔民数共有两对 三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对 ------ 依次类推可以列出下表:
经过月数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
幼仔对数 | 1 | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 |
成兔对数 | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 |
总体对数 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 | 233 |
幼仔对数=前月成兔对数 成兔对数=前月成兔对数+前月幼仔对数 总体对数=本月成兔对数+本月幼仔对数 可以看出幼仔对数、成兔对数、总体对数都构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。 这个数列是意大利中世纪数学家斐波那契在<;;算盘全书>;;中提出的,这个级数的通项公式,除了具有a(n+2)=an+a(n+1)的性质外,还可以证明通项公式为:an=(1/√5)*{[(1+√5)/2]^n-[(1-√5)/2]^n}(n=1,2,3.....) `````
C#语言程序
public class Fibonacci { //NormRen static void Main(string[] args) { int x = 0,y = 1; for (int j = 1; j < 10; j++,y = x + y,x = y - x) Console.Write(y + " "); } }
转载于:https://www.cnblogs.com/xust/articles/2615452.html
Fibonacci 数列相关推荐
- 求Fibonacci数列的前20项
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p112 习题4 2.编程求Fibonacci数列的前20项. Fibonacci数列的定义:F0=0, ...
- 【c语言】蓝桥杯入门训练 Fibonacci数列
[问题描述] Fibonacci数列的递推公式为:Fn=F(n-1)+F(n-2),其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. [输入格式] 输 ...
- 1732 Fibonacci数列 2
1732 Fibonacci数列 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 在"1250 Fi ...
- fibonacci 数列及其应用
fibonacci 数列及其延展 fibonacci计算 fibonacci数列是指 0,1,1,2,3,5,8,13,21--这样自然数序列,即从第3项开始满足f(n)=f(n-1)+f(n-2): ...
- 算法设计与分析 Fibonacci数列问题的词典法(动态规划:词典)
Fibonacci数列问题的词典法 Fibonacci数列问题的词典法 #include<stdio.h> #pragma warning (disabled:4996) #define ...
- 蓝桥杯基础训练——Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- 入门训练 Fibonacci数列-python实现
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大 ...
- hdu 4639 2013多校第四场 hehe Fibonacci 数列,组合计数,字符串处理
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4639 题目思路: 首先我们取出所有he这样的东西,考察连续的k个"he"串,通过找 ...
- Fibonacci数列时间复杂度之美妙
Fibonacci数列: fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2) 上课老师出了一道题,求下列函数的时间复杂度: int fib(int d) {if (d ...
- Fibonacci数列 递归 杨辉三角 动态规划
这篇帖子主要是介绍 递归 与 动态规划 之间是如何转换的, 什么是递归估计不用多说,那么什么是 动态规划呢? 我理解的动态规划就是: 能够避免 直接 递归实现 中出现的重复运算的技术就是动态规划. 这 ...
最新文章
- postgresql创建只读账号
- Python: 大型数组运算
- Geary 0.13.0 发布,GNOME 3 Email 客户端应用
- linux监控命令执行,你可能不知道的 即时监控 Linux 使用者执行指令的三种方法...
- jsp 9对象4作用域
- restfull服务器端获取文件,使用 FileREST API (获取文件服务) - Azure 文件存储 | Microsoft Docs...
- 打包windows 和 linux caffe 版本的人脸识别 人脸年龄估计 人脸性别模型的总结
- 错误处理和调试2 - C++快速入门31
- php cryptojs解密,CryptoJS加密Go解密
- 微软笔试题《Arithmetic Puzzles》- 题解
- php大写数字转换,php数字如何转换大写
- 移植Linux Kernel SM750 驱动到VxWorks 7
- [buuctf.reverse] 33到50题
- suse-linux root密码重置和网络配置
- Vue3 组件示例工程(二) —— AQI组件
- 【计算机毕业设计】基于微信小程序的高校课堂考勤签到系统
- 苹果降价600元,对本就溃败的国产旗舰手机几乎是毁灭性打击
- 【操作系统】操作系统的概念、功能和目标
- 80211无线网络权威指南(四)之成帧细节
- 高性能mysql学习笔记--高级特性
热门文章
- hal库开启中断关中断_[STM32]HAL库下GPIO按键中断与去抖问题分析(分析源码解决问题)...
- 009_Raphael绘制图形
- sql left join用法_一张图看懂 SQL 的各种 join 用法
- ipynb和py文件一样吗_文件描述符了解一下
- 鸿蒙并不是为手机开发而是为物联网,华为确定发布“鸿蒙OS”确定 物联网同样可以搭载...
- TextureView+MediaPlayer实现在线短视频播放
- Android中利用隐式意图发送短信
- c# redis hashid如何设置过期时间_Redis数据库实现原理(划重点)
- 使用tab键分割的文章能快速转换成表格。( )_word排版技巧:活用Enter键提高工作效率...
- 好看的linux操作系统,Deepin 20 - 外媒称它是最漂亮的Linux操作系统