JavaScript——递归算法案例
求n的阶乘
function fun(n) {
if(n==1){
return 1;
}else{
return n*fun(n-1)
}
}
console.log(fun(5));
箭头函数
var fun = (n) =>{ return n==1 ? 1: n*fun(n-1)}
求最大公约数
function fn(a,b){
if(a%b == 0){
return b
}else{
return fn(b,a%b)
}
}
console.log(fn(20,16));
求斐波那契数的第n项
function fei(n) {
if(n==1 || n==2){
return 1;
}else{
return fei(n-1)+fei(n-2)
}
}
var fei = ()=>{return n==1 || n==2? 1: fei(n-1)+fei(n-2)}
console.log(fei(4));
或者
var fei = ()=>{return n==1 || n==2? 1: fei(n-1)+fei(n-2)}
console.log(fei(4));