现在的位置: 首页 > 综合 > 正文

求n阶乘

2013年01月19日 ⁄ 综合 ⁄ 共 472字 ⁄ 字号 评论关闭

求一个数的阶乘可以有两种方法来实现它。一是用递归,而是非递归方法。

  • 用递归:public static int doFactorial(int n) {
      if (n < 0) {      // 传入的n不合法
              return -1;     // 返回-1,说明参数不合法
      }
      if (n == 0) {// 0!=1
              return 1;
      } else if (n == 1) {// 退出递归的条件
              return 1;
      } else {// 满足进行递归的条件
              return n * doFactorial1(n - 1);
      }
     }
  • 非递归:public static int doFactorial(int n) {
      int result = 1;// 结果
      if (n < 0) {// 传入的n不合法
       return -1;// 返回-1,说明参数不合法
      }
      if (n == 0) {// 0!=1
       return 1;
      }
  •   for (int i = 1; i <= n; i++) {// 从1~n相乘
       result *= i;
      }
      return result;// 返回结果
     }

抱歉!评论已关闭.