首页 > 编程语言 >算法:打印斐波那契数列的前30项(JS)

算法:打印斐波那契数列的前30项(JS)

时间:2023-10-07 16:58:58浏览次数:31  
标签:契数 个斐波 函数 30 JS 斐波 那契

打印斐波那契数列的前30项 提示:斐波那契数列的前两项是1,其他项是之前两项之和

 1 function fibonacciIterative(n) {
 2     if (n <= 0) { // 如果输入的n小于等于0,表示输入错误,返回错误提示
 3         return "输入错误,请输入正整数";
 4     }
 5     let a = 1; // 初始化第一个斐波那契数为1
 6     let b = 1; // 初始化第二个斐波那契数为1
 7     for (let i = 3; i <= n; i++) { // 从第三个斐波那契数开始循环计算,直到第n个斐波那契数
 8         let temp = a + b; // 计算当前斐波那契数
 9         a = b; // 更新a为前一个斐波那契数的值
10         b = temp; // 更新b为当前斐波那契数的值
11     }
12     return b; // 返回第n个斐波那契数
13 }
14 
15 for (let i = 1; i <= 30; i++) { // 循环打印前30个斐波那契数
16     console.log(fibonacciIterative(i)); // 调用fibonacciIterative函数并打印结果
17 }

代码解释:

代码注释解释了函数的功能和逻辑。首先,定义了一个名为fibonacciIterative的函数,该函数接收一个参数n,表示要计算第n个斐波那契数。

函数内部通过判断输入是否合法,即n是否小于等于0,如果是则返回错误提示"输入错误,请输入正整数"。

然后,通过迭代的方式计算第n个斐波那契数。使用两个变量ab分别表示前两个斐波那契数,初始值都为1。通过循环从第3个斐波那契数开始计算,每次计算当前斐波那契数,并更新ab的值为前一个和当前的斐波那契数。

最后,将计算得到的第n个斐波那契数作为函数的返回值。

在主程序中,通过一个循环打印出前30个斐波那契数的值。循环从1到30,调用fibonacciIterative函数并传入当前的循环变量,然后将结果打印输出。

标签:契数,个斐波,函数,30,JS,斐波,那契
From: https://www.cnblogs.com/anzhizhumo/p/17746698.html

相关文章

  • 算法:九九乘法表(JS)
    九九乘法表1functioncreateMultiplicationTable(){2lettable='';//创建一个空字符串用于存储乘法表3for(leti=1;i<=9;i++){//外层循环控制行数,从1到94for(letj=1;j<=i;j++){//内层循环控制每行的列数,从1到当前行数i......
  • 算法:寻找自幂数(JS)
    寻找自幂数*打印所有的3位自幂数,即水仙花数;*打印所有的4位自幂数,即四叶玫瑰数;*打印所有的5位自幂数,即五角星数;提示1:自幂数是指一个n位数,他的每个位上的数字的n次幂之和等于它本身;提示2:153是一个水仙花数,是因为153=1^3+5^3+3^3。1functionfindHarmonicNumbers......
  • 算法:判断平年和闰年(JS)
    判断平年和闰年要求:用户输入年份,如果该年是闰年,则打印"xxxx年是闰年",否则打印"xxxx是平年"  提示1:符合以下任何一个条件,该年就是闰年,否则就是平年  *该年能被400整除;  *该年能被4整除且不能被100整除  提示2:使用prompt()  提示3:用parseInt()1functi......
  • 算法3:车羊门问题(JS)
    任务三:车羊门问题车羊门问题”,也被称为‘三门问题、“玛丽莲问题”,是一个在电视节目上获取奖品的游戏,经常在互联网上引起争论,已经持续了几十年时间。现在要求你编写程序,得出科学的结论,以平息这场争论。该游戏的具体规则和争论点,请同学们自行在抖音等平台上搜索了解,了解清楚了再......
  • 算法1:寻找完数(JS)
    任务一:寻找完数打印10000以内的完数完数:与自己所有因子之和相等的数。1letsum=0,i,j;//定义变量sum、i和j23for(i=1;i<10000;i++){4sum=0;//初始化sum为05letfactors=[];//存储因子的数组67//寻找i的因子并计算它......
  • [已解决] Compilation error ptxas fatal : Value ‘sm_30‘ is not defined for opti
    在用cmake编译cuda程序时,总是报Compilationerrorptxasfatal:Value‘sm_30’isnotdefinedforoption‘gpu-name’问题,也是折腾了好久,感谢这位小哥的解决方案,亲试无误,万分感谢~转载:https://blog.csdn.net/Fucking_Code0916/article/details/132429186安装tiny-cudann出......
  • Node.js Assertion API All In One
    Node.jsAssertionAPIAllInOneNode.js断言API严格模式Instrictassertionmode,non-strictmethodsbehaveliketheircorrespondingstrictmethods.Forexample,assert.deepEqual()willbehavelikeassert.deepStrictEqual().在严格断言模式下,非严格方法的行......
  • 递归解析Json,实现生成可视化Tree+快速获取JsonPath
    内部平台的一个小功能点的实现过程,分享给大家:递归解析Json,可以实现生成可视化Tree+快速获取JsonPath。步骤:1.利用JsonPath读取根,获取JsonObject2.递归层次遍历JsonObjec,保存结点信息3.利用zTree展示结点为可视化树,点击对应树的结点即可获取对应结点的JsonPath1.利用JsonPath......
  • JS异步笔记
    Promise最早接触异步是在.net中,当时还是比较流行使用基于控件的BackgroundWorker,其自身通过子线程的方式来异步处理一些情况,并且封装了一些功能与主线程通信。后来,开始使用Thread,再后来,因为Thread的性能与生成数量的不可控,使用了ThreadPool,再后来,出现了Task,随后async、await如发......
  • JS逆向实战23 某市wss URL加密+请求头+ws收发
    声明本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!本文首发链接为:https://mp.weixin.qq.com/s/o5UCJFhBg-4JFdS0aEwDuw前言在此前。我们先来了解下什么是......