美文网首页
原生JS实现阶乘

原生JS实现阶乘

作者: Sketch | 来源:发表于2017-10-31 20:03 被阅读26次

    使用递归

    function factorial(num) {
      if (num < 0) {
        return -1;
      }
      if (num === 0 || num === 1) {
        return 1;
      } else {
        return (num * factorial(num - 1));
      }
    }
    console.log(factorial(5));
    // 120
    

    使用for循环

     function factorial(num) {
    
      if (num < 0) {
        return -1;
      }
      if (num === 0 || num === 1) {
        return 0;
      } else {
        for (var i = num - 1; i >= 1; i--) {
          num *= i;
        }
      }
      return num;
    }
    
    console.log(factorial(5));
    
    // 120
    
    

    使用while循环

    function factorial(num) {
      var result = num;
      if (num < 0) {
        return -1;
      }
      if (num === 0 || num === 1) {
        return 0;
      } else {
        while (num > 1) {
          num--;
          result *= num;
        }
      }
      return result;
    }
    console.log(factorial(5));
    
    // 120
    

    相关文章

      网友评论

          本文标题:原生JS实现阶乘

          本文链接:https://www.haomeiwen.com/subject/cghipxtx.html