日期:2014-05-19  浏览次数:20759 次

一个关于极限证明的问题。(c#新手)
有这样一个数列:
a[1]=1;
a[2]=1;
a[n]=a[n-1]+a[n-2](n> 2);
求证明:n趋向无穷大,a[n-1]/a[n-2]=0.618.

我是新手,在一本书里看到的题目。请大家多帮忙。谢谢!

------解决方案--------------------
你是做数学题还是程序?
------解决方案--------------------
o,这是著名的fibonacci数列呀
------解决方案--------------------
a[n-1]/a[n-2]=0.618,就是让你证明fibonacci在趋于无穷两项的比是一个黄金分割!

这毫无疑问是一个数学问题喽!
------解决方案--------------------
斐波那契数列……
------解决方案--------------------
a[n-1]比a[n-2]大,能除出0.618?!!

------解决方案--------------------
有难度
------解决方案--------------------
呵呵,我记得好像是这样的:

Fib(n) = (a^n - b^n)/sqrt(5);

a = (1 + sqrt(5))/2

b = (1 - sqrt(5))/2
------解决方案--------------------
证明:fn=fn-1+fn-2,等式两边同除以fn-1得到一个新数列:
bn=1+1/bn-1(n> 1),b1=1,bn极限存在,故当n趋于无穷大时,bn=bn-1,因此得到等式bn=1+1/bn,解得n=(1+sqrt5)/2即PHI黄金分割.

------解决方案--------------------
你的n越大值就越接近0.618,要看你的n想取多大了。如果你的n大于计算机语言的最大值,你就要考虑用链表来存储。
------解决方案--------------------
楼上你的方法是纯数学方法吧?

我觉得还是要用这个公式从程序的角度能更好的证明:

Fib(n) = (a^n - b^n)/sqrt(5);