用if语句和迭代完成斐波那契数列

斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N)*
设置一个变量a,当a为0或小于0时:


用if语句和迭代完成斐波那契数列
文章图片
当a为1或a为2时:


用if语句和迭代完成斐波那契数列
文章图片
当a>2时:


用if语句和迭代完成斐波那契数列
文章图片
设置一个函数,将变量a引入,则为:


用if语句和迭代完成斐波那契数列
文章图片
打印 console.log(fb(a)),代入a的值,便可生成斐波那契数列中对应的数字。
--------------------------------------------------------------------------------------------
使用for循环的迭代完成斐波那契数列:
众所周知,斐波那契数列从第三项开始,后一项为前两项之和,
因此,先设一个num1为前一项,num2为当前项,sum为后一项。


用if语句和迭代完成斐波那契数列
文章图片
当sum完成一次前两项相加等于后一项时,
sum变为当前项,即:
用if语句和迭代完成斐波那契数列
文章图片
num2变为num1,即当前项变为前一项:


用if语句和迭代完成斐波那契数列
文章图片
用for循环时,返回一次便可执行新的一轮循环。


用if语句和迭代完成斐波那契数列
文章图片
i为斐波那契数列中的当前项 设立一个i为当前项,从3开始,因为斐波那契前两项都为1。num为项数,即当前运行到了第几个数字,当i等于当前num的值时,循环停止。
【用if语句和迭代完成斐波那契数列】例如:console.log(getFib(6))时,num=6,即为当前的最大项数,sum便为数列中第六个数字,为8.

    推荐阅读