JavaScript 中的斐波那契数列程序
假设在一个班级里,老师让卷一的学生在黑板上写 0,卷二的学生写 1,并要求其余的学生写下你前两个学生的总和。写在板上的系列看起来像 0,1,1,2,3,5,8,…………。
老师接着告诉学生,这个数列称为斐波那契数列。它可以用下面的等式表示
Fn = Fn-1 + Fn-2
其中 F0=1 和 F1=1。斐波那契数是以下整数序列中的数字 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, .....在数学术语中,斐波那契数列 Fn数字由递归关系定义
Fn = Fn-1 + Fn-2 with seed values F0 = 0 and F1 = 1
例子:
Input : 5
Output : 8
Input :8
Output :34
由于第一个斐波那契数是 0,第二个是 1。此外,我们知道第 n 个斐波那契数是 n-1 和 n-2 项的总和。
因此,要获得第 n 个斐波那契项,我们可以遵循
纤维(1)=0
纤维(2)=1
fib(3)=fib(2)+fib(1)
fib(4)=fib(3)+fib(2)
……
fib(n)=fib(n-1)+fib(n-2)
示例:通过使用 for 循环
javascript
javascript
javascript
输出:
Fibonacci(5): 3
Fibonacci(8): 13
示例:通过使用 while 循环
javascript
输出:
Fibonacci(5): 3
Fibonacci(8): 13
通过使用递归:我们知道第 n 个斐波那契数是 n-1 和 n-2 项的总和,而 n-1 项是 n-2 和 n-3 项的总和。
因此,要获得第 n 个斐波那契项,我们可以遵循
fib(n)=fib(n-1)+fib(n-2)
fib(n)=fib(n-2)+fib(n-3)+fib(n-3)+fib(n-4)
……
fib(n)=fib(1)+fib(0)+fib(1)+fib(0)+fib(1)+fib(0)….fib(1)+fib(0) [包含总和的项fib(1) 和 fib(0)
纤维(1)=0
纤维(2)=1
例子:
javascript
输出:
Fibonacci(5): 3
Fibonacci(8): 13