证明Fibonacci数列与黄金分割的关系

解答了优快云网友提出的Fibonacci数列第30项的问题,并提供了Java实现代码,同时介绍了Fibonacci数列的性质及其与黄金分割的关系。
优快云网友问:
1,1,2,5,8,13.....请问这个数列第30项是什么? java实现
玄机逸士的回答:
楼主的题目是不是少了一个数字3?否则没有规律可言,无法得出第30项数据,正确的题目应该是: 
1,1,2,
3,5,8,13.....请问这个数列第30项是什么? java实现

很明显这是一个Fibonacci数列,代码如下:
package com.pnft.fibonacci;
public class Fibonacci
{
static int calculateFibonacci(int n)
{
if(n < 3)
{
return 1;
}
else
{
return calculateFibonacci(n-1) + calculateFibonacci(n-2);
}
}

public static void main(String[] args)
{
System.out.println(calculateFibonacci(30));
}
}
运行程序得到的结果为: 
832040
这就是第30项的数据。
Fibonacci数列本质上就是:一个数字等于它前面两项的和,比如2 = 1 + 1 3 = 1 + 25 = 2 + 3... 
关于Fibonacci数列有很多很有意思的事情,其中一个就是当n->无穷大时,F(n-1)/F(n) = 0.618... 黄金分割
这是可以证明的(此结论网上颇为多见,然鲜有证明者) 
假定Fibonacci数列有n F(1),F(2),F(3),F(4),F(5),F(6)...,F(n-2),F(n-1),F(n)
根据Fibonacci数列的定义,我们可以知道:
F(n) = F(n-1) + F(n-2) (0)
现在我们来算算F(n) / F(n-1),将(0)式代入:


很显然,当n->无穷大的时候,
   (1) 
令,那么
那么当n->无穷大的时候,(1)式将变成: 
    (2) 
(2),得到:

Fibonacci
两项相比,不可能出现负数,因此负数解没有意义,舍去之。那么最后得到
,即 
得证!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值