介绍
阶乘:一个非负整数n的阶乘是所有小于或等于 n的正整数之积,并且0的阶乘为1。自然数n的阶乘写作n!
即n!=1×2×3×…×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n
代码示例
这边就不检测n是否为非负整数了
<script>
// 实现阶乘
/**
* 方法一
* 使用while循环实现
*/
function factorial(n) {
// 查看执行速度
console.time();
// 定义初始变量
var result = 1;
while (n > 1) {
result *= n;
n--;
}
console.timeEnd()
return result;
}
console.log(factorial(4));
/**
* 方法二
* 使用for循环实现
*/
function factorial2(n) {
console.time();
var i, result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
console.timeEnd();
return result;
}
console.log(factorial2(4));
</script>
总结
对比这两种方法实现阶乘,在实现数值较小得阶乘时两个方法得执行速度差别不大,但是在实现数值较大得阶乘时方法二通过for循环实现阶乘得执行速度快。
版权声明:本文为qq_45264054原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。