JavaScript求阶乘的八种方法 您所在的位置:网站首页 a的阶乘公式怎么算 JavaScript求阶乘的八种方法

JavaScript求阶乘的八种方法

2023-09-10 10:08| 来源: 网络整理| 查看: 265

//方法一 尾递归的优化

//构建一个带尾递归的函数。因为它会返回自身调用的结果,所以它是尾递归 //JavaScript 当前没有对这种形式的递归做出优化 var factorial = function factorial(i, a) { console.log(i, a); a = a || 1; console.log(i, a); if (i if (n === 1) return total return factorial(n - 1, n * factorial) } factorial(5, 1)

//方法三 // 用arguments.callee可以不用管函数名变还是不变都可以用

function fac(num) { if (num // 闭包 return num * fac(--num); //方法一 //return num*fac(num-1); //方法二 // return num*arguments.callee(num-1);//方法三 // return num*arguments.callee(--num);//方法四 /*但在严格模式下不能通过脚本访问arguments.callee*/ } } var result = fac(4); console.log("这是下面4的阶乘:", result);

//方法四

var factorial = function fac(num) { if (num // 闭包 return num * fac(num - 1); } } var result = factorial(4); console.log("这是最后下面4的阶乘:", result);

//方法五

function fac(n) { return n > 1 ? n * fac(n - 1) : 1 } console.log('结果为:', fac(5))

//方法六

function test1(num) { for (var i = num - 1; i >= 1; i--) { num *= i; } return num; } console.log("for循环递归", test1(5));

// 方法七 while循环

function test2(num) { var result = num; while (num > 1) { num--; result *= num; } return result; } console.log("while循环递归", test2(4));

//方法八

function factorial(n) { if (n === 1) return 1 return n * factorial(n - 1) } factorial(5)

//方法九

var count = 0; var jc = 1; for(var j = 1;j // 定义变量计算当前数的阶乘 var jc = 1; for (var j = 1; j


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有