斐波那契数列:
例如:一个人爬楼梯,每次只能爬1个或两个台阶,假设有n个台阶,那么这个人有多少种不同的爬楼梯方法;
1阶楼梯:1种方法
2阶楼梯:2种方法
3阶楼梯:3种方法
4阶楼梯:5种方法
5阶楼梯:8种方法
6阶楼梯:11种方法
…
总结规律:第n阶梯的方法 = 第n-1阶方法 + 第n-2阶方法 (也就是前面的两次方法之和)
<!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>
<div></div>
<script>
// 使用递归函数
function fn(n) {
// 1 2 3 5 8 13 21 34 55 89 144
if (n == 1) {
return 1
} else if (n == 2) {
return 2
} else {
// console.log((fn(n - 1) + fn(n - 2)));
return (fn(n - 1) + fn(n - 2))
}
}
// 例如11个阶梯 共有144种方法
let num = fn(11)
console.log(num)
</script>
</body>
</html>