一 . 斐波那契数列的概念介绍 :
(1) 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。
(2) 斐波那契数列指的是这样一个数列:
1,1,2,3,5,8,13,21, 34, 55 ……从第3个数字开始,每个数字等于它前面两个数字之和
二 . 分析 :
fn(第几位) 得到对应斐波拉契数列的值
fn(3) = fn(2) + fn(1)
1 + 1
fn(5) = fn(4) + fn(3)
fn(3) + fn(2) + fn(2) + fn(1)
fn(2) + fn(1) + fn(2) + fn(2) + fn(1)
= 1 + 1 + 1 + 1 + 1
= 5
...fn(9) === 34
三 . 代码演示 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 递归 类似于循环 ---- 栈溢出
function fn(n) {
if (n === 1 || n === 2) {
return 1
}
return fn(n - 1) + fn(n - 2) //函数的值相加
}
console.log(fn(1));
console.log(fn(2));
console.log(fn(3));
console.log(fn(5));
// 写递归一定要有退出条件,不然就会栈溢出
// function fn1() {
// fn1()
// }
// fn1()
</script>
</body>
</html>