关于斐波那契数列引发的一系列思考 秒速五厘米 2023-06-06 08:08 1阅读 0赞 斐波那契数列是一个神奇的数列! 先来讲两个经典的问题,你们也可以思考一下答案,通过看完本文希望你可以回答出答案。 **兔子问题** 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子? **台阶问题** 有一段楼梯有20级台阶,规定每一步只能跨一级或两级,要登上第20级台阶有几种不同的走法? 以上两个问题都和斐波那契数列有关。不信?那我们来分析一下。 我们不妨拿新出生的一对小兔子分析一下: 第一个月小兔子没有繁殖能力,所以还是一对 两个月后,生下一对小兔对数共有两对 三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对 ------ 依次类推可以列出下表: ![在这里插入图片描述][201910101611594.jpg] 幼仔对数=前月成兔对数 成兔对数=前月成兔对数+前月幼仔对数 总体对数=本月成兔对数+本月幼仔对数 -------------------- 再来分析一下台阶问题 登上第一级台阶有一种登法;登上两级台阶,有两种登法;登上三级台阶,有三种登法;登上四级台阶,有五种登法…… 仍然是这串数字0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233… **两个不同的问题却拥有相同的规律** 神奇么?其实这才是冰山一角而已。 再来看看下面这个植物 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzEwNjI0OA_size_16_color_FFFFFF_t_70] **上面的凸起也符合斐波那契数列规律!** 斐波那契数列中的斐波那契数会经常出现在我们的眼前——比如松果、凤梨、树叶的排列、某些花朵的花瓣数(典型的有向日葵花瓣),蜂巢,蜻蜓翅膀,超越数e(可以推出更多),黄金矩形、黄金分割、等角螺线,十二平均律等。 符合斐波那契数与植物花瓣 3………………………百合和蝴蝶花 5………………………蓝花耧斗菜、金凤花、飞燕草、毛茛花 8………………………翠雀花 13………………………金盏 21………………………紫宛 34、55、89……………雏菊 \*\*斐波那契数还可以在植物的叶、枝、茎等排列中发现。\*\*例如,在树木的枝干上选一片叶子,记其为数0,然后依序点数叶子(假定没有折损),直到到达与那些叶子正对的位置,则其间的叶子数多半是斐波那契数。叶子从一个位置到达下一个正对的位置称为一个循回。叶子在一个循回中旋转的圈数也是斐波那契数。在一个循回中叶子数与叶子旋转圈数的比称为叶序(源自希腊词,意即叶子的排列)比。多数的叶序比呈现为斐波那契数的比。 **斐波那契数列还和黄金比例有关,所以又称黄金分割数列** 这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割0.618.(或者说后一项与前一项的比值小数部分越来越逼近黄金分割0.618、前一项与后一项的比值越来越逼近黄金分割0.618) 1÷1=1,1÷2=0.5,2÷3=0.666…,3÷5=0.6,5÷8=0.625,…………,55÷89=0.617977…,…………144÷233=0.618025…46368÷75025=0.6180339886…… 越到后面,这些比值越接近黄金比。 斐波那契的秘密远远不止于此,它更多的秘密还需要后人来揭开。我试图用编程的方式去探索其中的奥秘。而善于科学计算的python语言无疑是我的首选。 计算代码如下: a=0 b=1 n=0 m=0 while b<10000: print(b) n=b m=a+b a=n b=m 这是最为直接的方式,但很明显不够优美,稍加观察我们就会得出下面的代码: a,b = 0,1 while b<10000: print(b) a,b = b,a+b 这下看起来就舒服多了 简单说明一下原理:其中代码关键部分a,b=b,a+b的计算方式为先计算右边表达式,然后同时赋值给左边。 以上程序的执行结果为 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzEwNjI0OA_size_16_color_FFFFFF_t_70 1] 但这显然仍不是我们想要的,因为我们想计算的是一年之后的兔子,20级台阶的走法,但我们并不能直观的通过上面的数字得到我们想要的答案。所以我用生成器写了下面一段代码: #!/usr/bin/python3 # -*- coding: utf-8 -*- import sys def fibonacci(n): # 生成器函数 - 斐波那契 a, b, counter = 0, 1, 0 while True: if (counter > n): return yield a a, b = b, a + b counter += 1 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成 while True: try: print (next(f), end=" ") except StopIteration: sys.exit() 通过修改n也就是生成器参数,我们就能获得我们想要的次数了。 关于斐波那契我想还有很多值得思考的地方,日后再说吧! [201910101611594.jpg]: /images/20230601/e3ef195e55c54d4f8ae35231466e6e79.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzEwNjI0OA_size_16_color_FFFFFF_t_70]: /images/20230601/9ca2732716094a35931f4ad64a973fd2.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzEwNjI0OA_size_16_color_FFFFFF_t_70 1]: /images/20230601/e3b10240ebda42e481c4de4bb7a33799.png
相关 关于斐波那契数列引发的一系列思考 斐波那契数列是一个神奇的数列! 先来讲两个经典的问题,你们也可以思考一下答案,通过看完本文希望你可以回答出答案。 兔子问题 一般而言,兔子在出生两个月后,就有繁殖能力 秒速五厘米/ 2023年06月06日 08:08/ 0 赞/ 2 阅读
相关 斐波那契数列 斐波那契数,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2, Love The Way You Lie/ 2022年11月19日 04:15/ 0 赞/ 246 阅读
相关 关于斐波那契数列 斐波那契数列 代码1 // 分分钟写出来的代码 int fib(int n) { if (n == 0 || n = ╰半夏微凉°/ 2022年09月24日 00:23/ 0 赞/ 100 阅读
相关 斐波那契数列 // 斐波那契数列.cpp : 定义控制台应用程序的入口点。 // \include "stdafx.h" \include<iostream> usin 谁践踏了优雅/ 2022年08月23日 14:45/ 0 赞/ 78 阅读
相关 斐波那契数列 关于斐波那契数列的解法,本人找到了一种比较简单的方法,结果是正确的,不知道各位有没有另外更好的解法,一起探讨探讨。 import java.util.; pu ╰+攻爆jí腚メ/ 2022年08月01日 12:15/ 0 赞/ 366 阅读
相关 斐波那契数列 定义:斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列从第三项开始,每一项都等于前两项之和。 矫情吗;*/ 2022年07月13日 04:49/ 0 赞/ 315 阅读
相关 斐波那契数列 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597, 冷不防/ 2022年07月13日 03:19/ 0 赞/ 339 阅读
相关 斐波那契数列 class FibIter(object): def __init__(self, lenth): self.lent 一时失言乱红尘/ 2022年05月27日 13:51/ 0 赞/ 337 阅读
相关 斐波那契数列 include<iostream> using namespace std; int fibonacci1(int t) { if(t 古城微笑少年丶/ 2022年05月09日 08:58/ 0 赞/ 302 阅读
相关 斐波那契数列 ![1234096-20171112230708606-1911525192.png][] 转载于:https://www.cnblogs.com/ostrich-sugar た 入场券/ 2022年01月06日 23:41/ 0 赞/ 364 阅读
还没有评论,来说两句吧...