欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>斐波那契数列

斐波那契数列

2024-09-13 08:00:02 收藏本文 下载本文

“jirui”通过精心收集,向本站投稿了7篇斐波那契数列,这里给大家分享一些斐波那契数列,供大家参考。

斐波那契数列

篇1:斐波那契数列

斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。

目录定义通项公式与黄金分割特性定义

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 特别指出:0是第0项,不是第1项。 这个数列从第二项开始,每一项都等于前两项之和。 斐波那契数列的发明者,是意大利数学家列昂纳多・斐波那契(Leonardo Fibonacci),生于公元1170年,卒于1240年,籍贯是比萨。他被人称作“比萨的列昂纳多”。12,他撰写了《珠算原理》(Liber Abacci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯等地研究数学。

通项公式

递推公式

斐波那契数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式: 显然这是一个线性递推数列。

通项公式

(如上,又称为“比内公式”,是用无理数表示有理数的一个范例。) 注:此时a1=1,a2=1,an=a(n-1)+a(n-2)(n>=3,n∈N*)

通项公式的推导

方法一:利用特征方程(线性代数解法) 线性递推数列的特征方程为: 解得 则 解得: 方法二:待定系数法构造等比数列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}。 方法四:母函数法。 考察函数Sn(x)=F1 x+F2 x?+F3 x?+……+Fn x^n……………………………① 则 xSn(x)=F1 x?+F2 x?+……+F{n1} x^n+Fn x^(n+1)……………………② x?Sn(x)=F1 x?+……+F{n2} x^n+F{n1} x^(n+1)+Fn x^(n+2)………③ ①②③得(1xx?)Sn(x)=xF{n+1} x^(n+1)Fn x^(n+2)……④ 令1xx?=0(即x=或x=) 于是,④式右边=0即xF{n+1} x^(n+1)Fn x^(n+2)=0 移项,两边同除以x^(n+1),得到…………………………⑤ 将x的两个值分别代入⑤,并作差,得到(x1x2)Fn= 代入具体数值得到

与黄金分割

关系

有趣的是:这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,后一项与前一项的比值越来越逼近黄金分割0.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。 所以极限是黄金分割比..

特性

平方与前后项

从第二项开始,每个奇数项的平方都比前后两项之积多1,每个偶数项的平方都比前后两项之积少1。 如:第二项1的平方比它的前一项1和它的后一项2的积2少1,第三项2的平方比它的前一项1和它的后一项3的积3多1。 (注:奇数项和偶数项是指项数的奇偶,而并不是指数列的数字本身的奇偶,比如从数列第二项1开始数,第4项5是奇数,但它是偶数项,如果认为5是奇数项,那就误解题意,怎么都说不通) 证明经计算可得:[f(n)]^2-f(n-1)f(n+1)=(-1)^(n-1)

与集合子集

斐波那契数列的第n+2项同时也代表了集合{1,2,...,n}中所有不包含相邻正整数的子集个数。

求和

证明: 当n=0时,有f(0) = f(0 + 2) - 1 = f(2) - 1,显然成立。 假设当n=k(k>=0且k为整数)时,等式成立,则有 f(0)+f(1)+f(2)+....+f(k)=f(k+2)-1,两边同时加上f(k+1),得 f(0)+f(1)+f(2)+....+f(k)+f(k+1)=f(k+2)+f(k+1)-1=f(k+3)-1 则此时n=k+1时,等式成立 综上,等式成立

隔项关系

f(2n-2m-2)[f(2n)+f(2n+2)]=f(2m+2)+f(4n-2m) [ n〉m≥-1,且n≥1]

两倍项关系

f(2n)/f(n)=f(n-1)+f(n+1) 与组合数关系

篇2:神奇的斐波那契数列-记叙文

神奇的斐波那契数列-记叙文1000字

自从我认识了黄金比,得知黄金比在生活中很常见,于是我又进行了课外拓展,了解了斐波那契数列。

斐波那契数列,顾名思义是由斐波那契发现的。指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……此数列的特点是:这个数列从第3项开始,每一项都等于前两项之和。用关系式来表达就是:n(数列的第n个数,n≥3)=n-1+n-2。此外,还有一个特点,那就是从第二项开始。每个奇数项的平方比前后两个项的积少1;每个偶数项的平方比前后两个项相乘的积多1。斐波那契数列最大的特点就是从第三个项开始,前面两个项的和与后面一个项的比值无限接近于黄金比(0.6180339)。

这个数列在生活中很常见,例如葵花、鹦鹉螺等等都有斐波那契数列的影子。最神奇的.是,这个数列与我国古代数学家杨辉发现的杨辉三角有极大的相连关系。在现代物理、准晶体结构、化学等领域,斐波那契数列都起到很重要的作用。

诸如大家平时耳熟能详的断臂维纳斯,人民大会堂。古埃及的一些建筑,到处都有斐波那契数列的身影。数列不仅增加建筑体的美观形象,还增加了建筑体的质量。斐波那契数列还有一个别称,那就是兔子数列。兔子的繁殖与斐波那契数列十分相似。在一些专门饲养兔子的农厂掌握斐波那契数列,可以更好的掌握兔子数量的增减,从而达到节省饲料的目的。

斐波那契数列在我们平时的生活中还有什么用处呢?答案是肯定有的,于是我就想到了在表演才艺中是不是也可以用到?例如表演魔术:在一张纸上并排画11个小方格。让人背对着自己(确保自己看不到他在纸上写什么),在前两个方格中随便填两个1到10之间的数。从第三个方格开始,在每个方格里填入前两个方格里的数之和。让对方一直算出第10个方格里的数。现在,叫对方报出第10个方格里的数,自己只需要在计算器上按几个键,便能说出第11个方格里的数应该是多少。对方会非常惊奇地发现,把第11个方格里的数计算出来,所得的结果与你的预测一模一样!这就奇怪了,在不知道头两个数是多少的情况下,只知道第10个数的大小,不知道第9个数的大小,怎么能猜对第11个数的值呢?其实只需要将第十个数除以0.618......就可以得到正确的结果,假如第十个数是249,则可以将249÷0.618......≈403,最后就会发现,结果是一模一样。

斐波那契数列仅仅是数学海洋一个缩影,知识是来源于生活,从而又服务于生活。合理的利用,才能将知识的作用与力量发挥到极致!

篇3:有趣的斐波那契数列日记200字

有趣的斐波那契数列日记200字

今天,我做完了暑假作业,看了一下《超有趣的数学魔法》,有一篇讲:生活在12世纪的数学家斐波那契曾在一本书中列出下面这道题:通常兔子出生两个月后就会生兔宝宝,一对兔子每个月生一对小兔子,那么一年后会有多少只兔子呢?原来,他把每个月兔子的数目罗列出来:1对,1对,2对,3对,5对,8对,13对,......这些数字构成了一个数列,通过观察可以发现,前面相邻两个数字之间的和等于后面的数字,即1+1=2,1+2=3,2+3=5,依此类推,这样的'数列叫做斐波那契数列。在大自然中,像植物的花瓣数目,松果的鳞片,菠萝表皮的花纹,原来都是按照这样的数列排列的。哦!数学真有趣,我开始有点喜欢数学了。

篇4:hdu4549M斐波那契数列(矩阵+欧拉定理)

Problem Description

M斐波那契数列F[n]是一种整数数列,它的定义如下:

F[0] = a

F[1] = b

F[n] = F[n-1] * F[n-2] ( n >1 )

现在给出a, b, n,你能求出F[n]的值吗?

Input

输入包含多组测试数据;

每组数据占一行,包含3个整数a, b, n( 0<= a, b, n<= 10^9 )

Output

对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即可,每组数据输出一行,

Sample Input

0 1 0 6 10 2

Sample Output

0 60

Source

金山西山居创意游戏程序挑战赛――初赛(2)

Recommend

liuyiding | We have carefully selected several similar problems for you: 5189 5188 5186 5185 5184

可以发现,每一项上面的指数,刚好是fib数

但是直接做指数太大,mod为素数

所以根据欧拉定理

mod的欧拉函数值为mod-1

a^b = a^(b%(mod - 1)

然后就可以做了

/************************************************************************* >File Name: hdu4549.cpp >Author: ALex >Mail: zchao1995@gmail.com >Created Time: 03月16日 星期一 20时12分13秒 ************************************************************************/#include#include#include#include#include#include#include#include#include#include#include using namespace std;const double pi = acos(-1.0);const int inf = 0x3f3f3f3f;const double eps = 1e-15;typedef long long LL;typedef pairPLL;const LL mod = 1000000006;class MARTIX{ public: LL mat[3][3]; MARTIX; MARTIX operator * (const MARTIX &b)const; MARTIX& perator = (const MARTIX &b);};MARTIX :: MARTIX(){ memset (mat, 0, sizeof(mat));}MARTIX MARTIX :: operator * (const MARTIX &b)const{ MARTIX ret; for (int i = 0; i< 2; ++i) { for (int j = 0; j< 2; ++j) {for (int k = 0; k< 2; ++k){ ret.mat[i][j] += this ->mat[i][k] * b.mat[k][j]; ret.mat[i][j] %= mod;} } } return ret;}MARTIX& MARTIX :: perator = (const MARTIX &b){ for (int i = 0; i< 2; ++i) { for (int j = 0; j< 2; ++j) {this ->mat[i][j] = b.mat[i][j]; } } return *this;}MARTIX fastpow(MARTIX A, int n){ MARTIX ans; ans.mat[0][0] = ans.mat[1][1] = 1; while (n) { if (n & 1) {ans = ans * A; } n >>= 1; A = A * A; } return ans;}LL fast(LL a, LL n){ LL b = 1; while (n) { if (n & 1) {b = a * b % 1000000007; } a = a * a % 1000000007; n >>= 1; } return b;}int main (){ LL a, b, n; while (~scanf(“%lld%lld%lld”, &a, &b, &n)) { MARTIX F; F.mat[0][0] = F.mat[0][1] = F.mat[1][0] = 1; if (n == 0) {printf(“%lld\n”, a);continue; } if (n == 1) {printf(“%lld\n”, b);continue; } MARTIX A; A.mat[0][0] = 1; A.mat[0][1] = 0; F = fastpow(F, n - 1); F = A * F; LL cnt1 = F.mat[0][1]; LL cnt2 = F.mat[0][0]; LL ans = fast(a, cnt1); ans = ans * fast(b, cnt2) % 1000000007; printf(“%lld\n”, ans); } return 0;}

篇5:与斐波那契数列的恒等式的组合法证明

与斐波那契数列有关的恒等式的组合法证明

与斐波那契数列有关的`恒等式具有美丽的外表,这种美自然激发我们去追求导致美的原因,希望找到美的理由或推导出美.本文将从组合的角度去论证与斐波那契数列有关的恒等式,正是对美的探索与追求.

作 者:姜洋 孙朝仁  作者单位:姜洋(江苏省连云港市新海实验中学,22)

孙朝仁(江苏省连云港市教育局教研室,222004)

刊 名:数学通报  PKU英文刊名:BULLETIN DES SCIENCES MATHEMATICS 年,卷(期): 48(11) 分类号:O1 关键词: 

篇6:HDU 4549 M斐波那契数列(矩阵快速幂)

Problem DescriptionM斐波那契数列F[n]是一种整数数列,它的定义如下:

F[0] = a

F[1] = b

F[n] = F[n-1] * F[n-2] ( n >1 )

现在给出a, b, n,你能求出F[n]的值吗?

Input输入包含多组测试数据;

每组数据占一行,包含3个整数a, b, n( 0<= a, b, n<= 10^9 )

Output对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即可,每组数据输出一行,

Sample Input

0 1 06 10 2

Sample Output

060

通过观察我们发现f[n]中a,b的数量变化符合斐波那契数列特征。于是f[n]=a^k*b^m%MOD;因此我们要用矩阵快速幂去求a和b的幂然而由于数很大,同样要去模一个数,这就是这个题的坑点。求和后用快速幂求f[n]就简单了。同样此题要注意前两项。

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define REPF( i , a , b ) for ( int i = a ; i<= b ; ++ i )#define REP( i , n ) for ( int i = 0 ; i< n ; ++ i )#define CLEAR( a , x ) memset ( a , x , sizeof a )typedef long long LL;typedef pairpil;const int INF = 0x3f3f3f3f;const int MOD=1e9+6;LL a,b,n;struct Matrix{ LL mat[2][2]; void Clear { CLEAR(mat,0); }};Matrix mult(Matrix m1,Matrix m2){ Matrix ans; for(int i=0;i<2;i++) for(int j=0;j<2;j++) {ans.mat[i][j]=0;for(int k=0;k<2;k++) ans.mat[i][j]=(ans.mat[i][j]+m1.mat[i][k]*m2.mat[k][j])%MOD; } return ans;}Matrix Pow(Matrix m1,LL b){ Matrix ans;ans.Clear(); for(int i=0;i<2;i++) ans.mat[i][i]=1; while(b) { if(b&1)ans=mult(ans,m1); b>>=1; m1=mult(m1,m1); } return ans;}LL quick_mod(LL a,LL b){ LL ans=1; while(b) { if(b&1)ans=ans*a%1000000007; b>>=1; a=a*a%1000000007; } return ans;}int main(){ while(~scanf(“%lld%lld%lld”,&a,&b,&n)) { Matrix A; if(n<=1) { printf(“%lld\n”,n==0?a:b); continue; } A.mat[0][0]=A.mat[0][1]=1; A.mat[1][0]=1;A.mat[1][1]=0; A=Pow(A,n-1); LL m,k; m=(A.mat[0][0])%MOD;k=(A.mat[0][1])%MOD; LL ans=1; ans=ans*quick_mod(a,k)%1000000007; ans=ans*quick_mod(b,m)%1000000007; printf(“%lld\n”,ans); } return 0;}

篇7:斐波那契数(C/C++,Scheme)

我引用两张表,大家一看便懂,

1.递归

(factorial 6)(* 6 (factorial 5))(* 6 (* 5 (factorial 4)))(* 6 (* 5 (* 4 (factorial 3))))(* 6 (* 5 (* 4 (* 3 (factorial 2)))))(* 6 (* 5 (* 4 (* 3 (2 (factorial 1))))))(* 6 (* 5 (* 4 (* 3 (* 2 1)))))(* 6 (* 5 (* 4 (* 3 2))))(* 6 (* 5 (* 4 6)))(* 6 (* 5 24))(* 6 120)720

2.迭代

(factorial 6)(factorial 1 1 6)(factorial 1 2 6)(factorial 2 3 6)(factorial 6 4 6)(factorial 24 5 6)(factorial 120 6 6)(factorial 720 7 6)720

递归的核心在于:不断地回到起点。

迭代的核心在于:不断地更新参数。

在下面的代码中,递归的核心是sum的运算,sum不断的累乘,虽然运算的数值不同,但形式和意义一样。

而迭代的核心是product和counter的不断更新。如上表中,product就是factorial的前2个参数不断的累乘更新成第一个参数;而第二个参数则是counter,其不断的加1来更新自己。

product <- counter * product

counter < - counter + 1

【斐波那契数列】相关文章:

1.数列练习题

2.数列教案

3.数列的测试题

4.数列极限的计算

5.高中数列知识点总结

6.数列的整除性

7.契科夫名言

8.《哀曼珠斐儿》诗歌

9.数列求和的教学反思

10.索契冬奥会主题口号

下载word文档
《斐波那契数列.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部