`
oraclestudy
  • 浏览: 481217 次
文章分类
社区版块
存档分类

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

 
阅读更多
CSDN网友问:
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
两项相比,不可能出现负数,因此负数解没有意义,舍去之。那么最后得到
,即 
得证!
分享到:
评论

相关推荐

    斐波那契数列与黄金分割.ppt

    斐波那契数列与黄金分割.ppt

    蓝桥杯--Fibonacci 数列与黄金分割 c/c++

    Fibonacci 数列是非常著名的数列: ...Fibonacci 数列有一个特殊的性质,前一项与后一项的比值,F[i]/F[i + 1], 会趋近于黄金分割。 为了验证这一性质,给定正整数 N,请你计算 F[N]/F[N + 1],并保留 8 位 小数。

    斐波那契数列欣赏 [吴振奎 编著] 2012年版

    斐波那契数列与连分数九 斐波那契数列的某些推广形式十 斐波那契数列的应用十一 黄金数O.618…十二 黄金数与斐波那契数列十三 黄金矩形、黄金三角形、黄金圆……十四 黄金分割与优选法及其他十五 杨辉(贾宪)、...

    Fibonacci数列斐波那契数列PPT学习教案.pptx

    Fibonacci数列斐波那契数列PPT学习教案.pptx

    C++斐波那契数列C++斐波那契数列

    C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++斐波那契数列C++...

    python 实现斐波那契数列

    # 题目:斐波那契数列。 # 程序分析:斐波那契数列(Fibonacci sequence),从1,1开始,后面每一项等于前面两项之和。图方便就递归实现,图性能就用循环。

    Labview实现递归:斐波那契数列

    斐波那契数列: 在数学上它以递归的方式进行定义,指这样的一个数列:0、1、1、2、3、5、8、13、21、34、55、89、144……,即前两个数为分别为0和1,从第3项开始,每项的值都等于其前两项之和。斐波那契数列Fib(n)用...

    斐波那契数列-C++代码

    本代码使用C++语言书写,编译环境VS2013。...斐波那契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、…… 本代码是练习作品,如有错误或修改,请指正,感谢感谢。

    斐波那契数列(前100项).rar

    里面是【斐波那契数列】的前100项,可以当做学习过程中对照是否正确等使用,加油!

    Python实现斐波那契数列

    程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、…… 在数学上,费波那契数列是以递归的方法来定义: F0 = 0 (n=0) F1 = 1 (n=1) Fn ...

    一个特殊数列与Fibonacci数列的关系

    一个特殊数列与Fibonacci数列的关系,王雅茹,朱福惠,本文在Fibonacci数列的基础上定义了前四项分别是1,4,7,9,并且满足第n项是第n-1 项与第n-3项和第n-4项之和的数列,并通过改变其部分项得到�

    Java实现斐波那契数列(Fibonacci sequence)

    斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。java代码实现该数列

    非递归实现fibonacci数列

    使用C++非递归实现fibonacci数列,对正在学习算法的同学应该挺有帮助的

    递归方法实现斐波那契数列_递归方法实现斐波那契数列_python_源码

    递归方法实现斐波那契数列

    斐波那契数列(肥不拉几数列)

    斐波那契数列(肥不拉几数列)斐波那契数列(肥不拉几数列)斐波那契数列(肥不拉几数列)斐波那契数列(肥不拉几数列)斐波那契数列(肥不拉几数列)斐波那契数列(肥不拉几数列)斐波那契数列(肥不拉几数列)...

    python斐波那契数列第n项.docx

    递归方法 def fibonacci(n): if n &lt;= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) n = int(input("请输入要计算的斐波那契数列的项数:")) print("斐波那契数列的第", n, "项为:", fibonacci(n)) 2...

    斐波那契数列的求解

    斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&gt;=2,n∈N*)在现代物理、准晶体结构、...

    斐波那契数列的经典应用(数学专业 毕业论文).doc

    本文详细的论述了斐波那契数列的定义、通项公式和性质的证明,还举出斐波那契数列被广泛利用到数学界,现实生活,以及生物学等各个领域中的典型例子。另外还介绍了斐波那契数列在中学数学题中的应用。这样,我们就...

    java实现Fibonacci数列

    编写一个Java程序,用于输出Fibonacci数列的前20项。

    编写函数f,功能是用递归的方法求斐波那契数列的第n项

    【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,...

Global site tag (gtag.js) - Google Analytics