//递归模拟演示:阶乘
//下面是一个递归函数`
function factorial(n){
if(n===0){
return 1
}else{
return n*factorial(n-1)
}
}
//使用栈来模拟计算
function fact(n){
var s=new Stack();
while(n>1){
s.push(n--)
}
var product=1;
while(s.length()>0){
product*= s.pop();
}
return product
}
下面来测试一下:
console.log(factorial(5));
console.log(fact(5));
结果:
120
120