那那



         看下一个

那那 不相关的其它视频
那可是天神啊. 别饿坏了那匹马 PK巴西那小子 你那完整的爱 北平那八年 00 那年 那月 那一场风花雪月 那叫一个精彩
关于 斐波那契数列 的百科小常识
“斐波那契数列”的发明者 是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci 生于公元1170年 籍贯大概是比萨 卒于1240年后)。他还被人称作“比萨的列昂纳多”。1202年 他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事 派驻地点相当于今日的阿尔及利亚地区 列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。


《达·芬奇密码》中还提到过这个斐波那契数列..

菲波那契数列指的是这样一个数列:1 1 2 3 5 8 13 21……

这个数列从第三项开始 每一项都等于前两项之和。它的通项公式为:(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】

很有趣的是:这样一个完全是自然数的数列 通项公式居然是用无理数来表达的。


该数列有很多奇妙的属性

比如:随着数列项数的增加 前一项与后一项之比越逼近黄金分割0.6180339887……

还有一项性质 从第二项开始 每个奇数项的平方都比前后两项之积多1 每个偶数项的平方都比前后两项之积少1

如果你看到有这样一个题目:某人把一个8*8的方格切成四块 拼成一个5*13的长方形 故作惊讶地问你:为什么64=65?其实就是利用了斐波那契数列的这个性质:5、8、13正是数列中相邻的三项 事实上前后两块的面积确实差1 只不过后面那个图中有一条细长的狭缝 一般人不容易注意到

如果任意挑两个数为起始 比如5、-2.4 然后两项两项地相加下去 形成5、-2.4、2.6、0.2、2.8、3、5.8、8.8、14.6……等 你将发现随着数列的发展 前后两项之比也越来越逼近黄金分割 且某一项的平方与前后两项之积的差值也交替相差某个值


斐波那契数列别名
斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入 故又称为“兔子数列”。



斐波那挈数列通项公式的推导

斐波那挈数列:1 1 2 3 5 8 13 21……

如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式:
F(1)=F(2)=1 F(n)=F(n-1)+F(n-2) (n≥3)

显然这是一个线性递推数列。


通项公式的推导方法一:利用特征方程

线性递推数列的特征方程为:
X^2=X+1
解得
X1=(1+√5)/2 X2=(1-√5)/2.

则F(n)=C1*X1^n + C2*X2^n
∵F(1)=F(2)=1
∴C1*X1 + C2*X2
    C1*X1^2 + C2*X2^2
解得C1=1/√5 C2=-1/√5

∴F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】

通项公式的推导方法二:普通方法

设常数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(3)-r*F(2)=s*[F(2)-r*F(1)]

将以上n-2个式子相乘 得:
F(n)-r*F(n-1)=[s^(n-2)]*[F(2)-r*F(1)]
∵s=1-r F(1)=F(2)=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(1)
= 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)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}


C语言程序
main()
{
long fib[40] = {1 1};
int i;
for(i=2;i<40;i++)
{
fib = fib[i-1]+fib[i-2];
}
for(i=0;i<40;i++)
{
printf("F%d==%d\n" i fib);
}
return 0;
}




机票搜索 便民查询网 9V无限车网 国家司法考试教育网 薇薇化妆品网 拍拍趣视频
火车票网 大学生团购网 BJGW 战队 漂流瓶网络 ImageMagick 中文站

京ICP备06059836号