算法:打印斐波那契数列的前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函数并传入当前的循环变量,然后将结果打印输出。

posted @ 2023-10-07 16:40  安知竹墨  阅读(342)  评论(0)    收藏  举报