递归算法

package com.JavaSE.day04;

/**
 * description: recur <br>
 * 递归算法
 * 在方法内部,自己调用自己的过程
 * 递归可以用极少的代码来解决来解决很多复杂但是具有规律的运算
 *
 * 本质:在运算中保留中间值进行递归计算
 * 缺点:性能较差,因为每次递归过程都需要计算中间值,然后还需要保存。
 *
 * 注意:递归的时候需要指定递归出口,否则抛出异常错误:java.lang.StackOverflowError内存区域被挤爆,导致Jvm甭哭
 * date: 2022/3/10 10:54 AM <br>
 * author: zoumaoji <br>
 * version: 1.0 <br>
 */
public class recur {
    public static void main(String[] args) {
        long recur =recur(10);
        System.out.println(recur);
    }

    public static long recur(int num){
        if (num==1){
            return 1;
        }
        return num*recur(num-1);
    }
}
posted @ 2022-03-13 21:14  JanoCode  阅读(42)  评论(0)    收藏  举报