#DayOne#,分别用循环和递归的方式实现阶乘
2015-04-22 17:10
751 查看
对任意一个给定的整数求其阶乘,可以分别采用循环和递归的方法实现。采用递归的思想解决问题主要就是控制好入口和出口,入口及最初始的外部对函数的调用,出口即对于继续递归的限制条件。
循环的方法实现阶乘
public static int circleFactorial(int n){ int sum=1; if(n<0){ throw new IllegalArgumentException("必须为整数!"); } for(int i=1;i<=n;i++){ sum*=i; } return sum; }
2.递归的方法实现阶乘
public static int recursiveFactorial(int n){ int sum=1; if(n<0){ throw new IllegalArgumentException("必须为整数!"); } if(n==1){ return 1; }else{ sum=n*recursiveFactorial(n-1); return sum; } }
3.main()函数
public static void main(String[] args) { int n=5; System.out.println("用循环的方法求"+n+"的阶乘,其结果为: "+circleFactorial(n)); System.out.println("用递归的方法求"+n+"的阶乘,其结果为: "+recursiveFactorial(n)); }
相关文章推荐
- 解析分别用递归与循环的方式求斐波那契数列的实现方法
- 二叉树三种遍历方式的递归和循环实现
- 【C语言】求取第n个斐波那契数的时间复杂度、空间复杂度分析,用三种方式实现(普通递归,循环,优化递归)
- 二分查找的两种实现方式--循环和递归
- 二叉树的三种遍历方式的循环和递归的实现方式
- C语言用分别用递归和循环求数字的阶乘的方法
- Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例
- Fibonacci (斐波那契数列)-循环,递归实现方式
- DP 之 CODE[VS] 1048 石子归并 (两种实现方式:递归,循环)
- 分别用递归和非递归方式实现二叉树的先序、中序和后序遍历
- C语言程序-递归和非递归分别实现求n的阶乘
- 递归和循环两种方式实现未知维度集合的笛卡尔积
- 递归和循环两种方式实现未知维度集合的笛卡尔积
- java实现八皇后问题(递归和循环两种方式)
- 递归和非递归分别实现求n的阶乘
- 二分查找法(循环与递归分别实现)
- n的阶乘,循环和递归实现
- 递归和非递归分别实现求n的阶乘
- 二叉树的遍历 前序 中序 后序 分别实现递归和非递归遍历方式
- 递归和循环两种方式实现未知维度集合的笛卡尔积