打印斐波那契数列的前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个斐波那契数。使用两个变量a
和b
分别表示前两个斐波那契数,初始值都为1。通过循环从第3个斐波那契数开始计算,每次计算当前斐波那契数,并更新a
和b
的值为前一个和当前的斐波那契数。
最后,将计算得到的第n个斐波那契数作为函数的返回值。
在主程序中,通过一个循环打印出前30个斐波那契数的值。循环从1到30,调用fibonacciIterative
函数并传入当前的循环变量,然后将结果打印输出。