/*function fn(num){
return num===1? 1:(num*fn(num-1));//这里特殊情况就是1的阶乘始终都是1,后面返回值是通过分析10!=10*9!,9!=9*8!,一个个递归而来,所以直接调用递归函数
}
console.log(fn(5));*/
/*定义递归函数计算菲波拉契数列,它主要是计算第几项的值,前两项不变始终都是1,只有从第三项开始变化,所以做循环也是从第三项开始做循环*/
/* function fn(num){
return num<=2? 1:(fn(num-1)+fn(num-2));//需要知道前两项始终都是1;所以返回值为1,后面返回值通过分析房f(4)=f(3)+f(2),f(3)=f(2)+f(1)
}
for(var i=1;i<=15;i++){
console.log(fn(i));//这是一次输出15个项每项的内容
}*/
/*递归函数计算两个数辗转相除,得出最大公约数*/
/*function fn(m,n){
var r=m%n;
m=n;
n=r;
return r!==0 ? fn(m,n):m;//为什么这么写的主要是因为,求最大公约数循环的步骤就是这样,直到m%n的余数为0,结束
}
console.log(fn(4,12));*/
网友评论