递归算法是在程序设计中广泛使用的一种方法,在运行过程中间接或直接调用自身的一种方法。用少量的代码描述了程序的多次运算,使程序代码变得简洁、明了。
一般来说,递归算法有三部分:边界条件、递归前进段和递归返回段。
当边界条件不满足时,递归前进;
当边界条件满足时,递归返回。
下面是一个简单的例子:求n的阶乘
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
//求n的阶乘
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
System.out.println(ck(n)); //输出运算结果
}
public static int ck(int n) {
if(n==1) //递归的边界条件
return 1;
else if(n<1){
System.out.println("输入格式不对");
return -1;
}
else
return n*ck(n-1); //重复调用递归函数
}
}
总结:递归算法是一个烧脑的算法,代码很简洁,需要仔细理解。