斐波那契数列

您所在的位置:网站首页 python判断斐波那契数列第n项奇偶性的程序 斐波那契数列

斐波那契数列

2023-09-16 22:51| 来源: 网络整理| 查看: 265

斐波那契数列的概念

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

        斐波那契数列指的是这样一个数列:

        0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711……

        它的规律是:这个数列从第 3 项开始,每一项都等于前两项之和。

        在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*),显然,斐波那契数列是一个线性递推数列。

斐波那契数列的实现

        常用的实现斐波那契数列的方法分为两大类:递归和循环。

1. 递归实现

#include int F(int n) //斐波那契数列函数 递归形式 { if(n == 0) //初始化 return 0; if(n == 1 || n == 2) return 1; return F(n-1) + F(n-2); //如果n != 1 && n != 2 进行递归运算 } int main() { int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%d\n", F(n)); } return 0; } 2. 迭代实现(优先使用) 6091: 斐波那契数列 #include int fibonacci(int n) //定义斐波那契函数 { if(n == 0) //定义初始值 return 0; if(n == 1 || n == 2) return 1; int a=1,b=1,c=0; //定义初始值 //用一个for循环,a、b分别为前两项,c为前两项之和,得到c后进行交换更新a、b的值,进行n次交换即可。 for(int i=3;i1->2,0->2;

        登第三级台阶,有三种走法,0->1->2->3,0->1->3,0->2->3;

        登第四级台阶,有五种走法,0->1->2->3->4,0->1->2->4,0->1->3->4,0->2->3->4,0->2->4;

        ......

        即1, 2, 3, 5, 8, 13,......到10级,就是89种走法,与斐波那契数列的规律契合。

        类似的斐波那契数列的规律运用还有很多。

        (1, 1, 2, 3, 5, 8, 13, 21, 33, 54, 89......)

5. 矩形面积

        右下图可知,斐波那契数列与矩形面积的生成相关。

        

        不难发现一个规律,即生成的矩形中,所有小正方形的面积之和等于大矩形的面积。即: 

学习参考来自:小半、的神奇的斐波那契数列! 和 静-静的雪的漫谈斐波那契数列与黄金分割比 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3