Java 1:利用递归、非递归求n的阶 5b4 乘
2019-05-18 00:22
1596 查看
我们都知道n!=123.......(n-1)n;并且当n=0或n=1时n!=1,所以从公式可以将计算条件分为2部分:
1.(n==0||n==1) ,n!=1
2.(n>1) ,n!=(n-1)!*n
代码实现如下:
public class Practice0514{ public static long factorial1(int n){//递归计算n的阶乘 if(n==0||n==1){ return 1; } else{ return factorial1(n-1)*n; } } public static long factorial2(int n){//非递归计算n的阶乘 long ret=1; int i=0; for(i=1;i<=n;i++){ ret=ret*i; } return ret; 111c } public static void main(String args[]){ int n=18;//n从这里指定 System.out.printf("%d的阶乘为%d%n",n,factorial1(n)); System.out.printf("%d的阶乘为%d%n",n,factorial2(n)); } }
结果如图所示:
相关文章推荐
- Java递归实现全排列改进(一)---利用HashSet实现去重
- Java 利用递归删除文件以及文件夹
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
- java语言实现:利用递归方法求n!
- java利用递归调用实现树形菜单的样式
- JAVA利用递归删除文件和文件夹
- 利用递归判断回文(Java)
- java练习——利用方法递归对1~100求和
- java程序题:利用递归方法求5!
- JAVA利用递归的方法删除一个文件夹以及文件夹下所有的子文件
- JAVA基础 day22 File类的方法和应用 利用递归获取目录下的所有文件 Properties类的应用(和IO技术结合,存取配置文件) 打印流和合并流等功能类的学习应用 切割文件练习
- 黑马程序员--Java基础加强--15.利用反射操作泛型IV【通过反射Method解析泛型方法思路】【通过Method对四种Type子接口类型进行解剖】【使用递归对任意复合泛型类型进行彻底解剖】【个人
- Java利用递归的方法求整数数组中的最大值
- 二叉树的高度 java 利用递归和层次遍历两种方法
- 二叉树的高度 java 利用递归和层次遍历两种方法
- Java利用递归思想遍历指定目录,获取所有的文件
- java经典算法_021利用递归方法求5!
- java利用dom4j递归输出所有节点
- Java从入门到放弃05(下)---二维数组的初始化/遍历/求和/利用二维数组输出杨辉三角图形/递归思想/Java实现斐波那契数列
- 利用java中for循环,递归解决机选双色球问题