用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时:


当a为1或a为2时:


当a>2时:


设置一个函数,将变量a引入,则为:


打印 console.log(fb(a)),代入a的值,便可生成斐波那契数列中对应的数字。

--------------------------------------------------------------------------------------------

使用for循环的迭代完成斐波那契数列:

众所周知,斐波那契数列从第三项开始,后一项为前两项之和,

因此,先设一个num1为前一项,num2为当前项,sum为后一项。


当sum完成一次前两项相加等于后一项时,

sum变为当前项,即:

num2变为num1,即当前项变为前一项:


用for循环时,返回一次便可执行新的一轮循环。


i为斐波那契数列中的当前项

设立一个i为当前项,从3开始,因为斐波那契前两项都为1。num为项数,即当前运行到了第几个数字,当i等于当前num的值时,循环停止。

例如:console.log(getFib(6))时,num=6,即为当前的最大项数,sum便为数列中第六个数字,为8.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容