JS中应用函数递归计算阶乘的思路是怎样想出来的?
我之前知道计算阶乘要用函数递归,但是自已想了很久都不知道是怎么写。我想知道第一个用函数递归计算阶乘的人他的思路是怎样的?这其中有什么数学方法吗?...
我之前知道计算阶乘要用函数递归,但是自已想了很久都不知道是怎么写。我想知道第一个用函数递归计算阶乘的人他的思路是怎样的?这其中有什么数学方法吗?
展开
2个回答
展开全部
阶乘公式是:n! = n*(n-1)*(n-2)...3*2*1 ,函数递归就是函数自己调用自己本身,或者在自己函数调用的下级函数中调用自己。
根据公式,js计算阶乘函数需要一个参数n作为计算初始值,函数里进行递归乘法运算,且每次递归调用函数时n的值-1,直到n等于1,并最终返回计算结果:
function factorial(n){
if(n>1){
var result = n;
result *= factorial(--n);//递归调用自身
return result;
}
if(n==1){
return 1;
}
}
根据公式,js计算阶乘函数需要一个参数n作为计算初始值,函数里进行递归乘法运算,且每次递归调用函数时n的值-1,直到n等于1,并最终返回计算结果:
function factorial(n){
if(n>1){
var result = n;
result *= factorial(--n);//递归调用自身
return result;
}
if(n==1){
return 1;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询