求n阶乘
2008-06-30 14:50 is_wolf 阅读(183) 评论(0) 收藏 举报求一个数的阶乘可以有两种方法来实现它。一是用递归,而是非递归方法。
- 用递归: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;// 返回结果 }
浙公网安备 33010602011771号