1.求出斐波那契数列中任意位置的数是多少?
function rabbit(n) {
if (n == 1 || n == 2) {
return 1;
}
return rabbit(n - 1) + rabbit(n - 2);
}
let res = rabbit(prompt('请输入位数'));
console.log(res);
2. 解答汉诺塔游戏步骤
let step = 1
// 一共有n个盘子:从a移动到c,借助b
function fn(n,a,b,c){
if(n == 1) {
console.log(step++, a, '-->', c)
} else {
fn(n-1, a, c, b)
console.log(step++, a, '-->', c)
fn(n-1, b, a, c)
}
}
fn(3, 'A', 'B', 'C')
以3个盘子为例,输出步骤为下
3. 数组求和
let arr = [1, 2, 3, 4, 5, 6]
function add(arr) {
if (arr.length == 1) return arr[0]
return arr[0] + add(arr.slice(1))
}
console.log(add(arr))