当前位置: > 财经>正文

斐波那契数列 黄金分割比根号形式

2023-07-26 00:49:16 互联网 未知 财经

斐波那契数列

斐波那契数列的概念

        斐波那契数列(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 ", 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. 矩形面积

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

        

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

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

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。