package day01; /** * @version 1.0 * @ClassName Test01 * @category javaSE * @QQ 1826286736 * @Author ${每特教育JY-010-小萌新} * @Date 2022年02月08日 14:13 **/ public class Test02 { /** * 递归的定义:方法定义中调用方法本身的现象叫递归 * public void a() { * a(); * } * @param args */ public static void main(String[] args) { /* 递归算法注意事项: 1.在使用递归算法,需要注意栈空间的深度 2.减少递归调用深度 通过一定条件退出 3.避免栈空间“栈溢出” JVM设置该参数:-Xss10m java进阶知识 jvm知识 */ System.out.println(Factorial(5)); } /** * 递归求阶乘 * 用递归求5的阶乘,并把结果在控制台输出 * 阶乘定义:一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!; * 例如: * 1. 5!=5*4*3*2*1 * 2. 1!=1 * 递归规则:n!=n*(n-1)! * 5!=5*4! * @param i * @return */ public static int Factorial(int i) { if (i == 1) { // 1的阶乘就是1,所以直接返回1 return 1; } else { // 每次调用i*(i-1) return i * Factorial(i - 1); } } }
递归求阶乘
最新推荐文章于 2024-07-14 13:21:09 发布