以斐波那契数列实现黄金分割数的验证

本文探讨了黄金分割数的概念及其与斐波那契数列之间的关系。通过Python编程验证了随着斐波那契数列项数的增长,相邻两数比值趋近于黄金分割比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几日前,在看明朝那些事儿的时候突然看到书中有提到黄金分割数,于是兴起百度了一下黄金分割数的具体概念,发现了黄金分割数与斐波那契数列之间不可言喻的联系。

 

黄金分割数相信大家都听说过但是很少去刻意了解。我先给大家解释一下黄金分割数的定义:把一条线段分割为两个部分,使其中一部分与全长之比等于另一部分与这部分之比。其比值是一个无理数,取其前三位数字的近似值是0.618.

斐波那契数列定义:斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1,1,2,3,5,8,13......这个数列从第3项开始,每一项都等于前两项之和。

研究发现,相邻两个斐波那契的比值是随序号的增加而逐渐趋于黄金分割比的。即f(n)/f(n-1)-->1.618  f(n)/f(n+1)-->0.618...由于斐波那契都是整数,两个整数相除的结果是有理数,所以只是逐渐逼近黄金分割比这个无理数。但是当我们继续计算出后面更大的斐波那契数时,就会发现相邻两数之比确实是非常接近黄金分割比的。

接下来我们就用python来实现黄金分割比的验证:

 

fib = [1]          # 定义列表, 存放斐波那契数列
a, b = 1, 1
for i in range(50):     
    fib.append(b)
    a, b = b, a + b
print(fib)
for i in range(50):
    c = fib[i] / fib[i + 1]
    print(c)

这样就可以看到当循环到后面时,c就近似等于0.618了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Noah Ren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值