让我们熟悉并掌握递归的用法
递归的定义
递归,就是在运行的过程中调用自己。
构成递归需具备的条件:
1.子问题须与原始问题为同样的事,且更为简单;
2.不能无限制地调用本身,须有个出口,化简为非递归状况处理。
递归的优缺点
优点:
结构清晰,可读性强,写法简单。
缺点:
1.递归是函数调用自身,函数调用有时间和空间的消耗(消耗大)
2.递归计算重复
3.调用栈可能会溢出
递归相应习题
1.递归求 N 的阶乘
import java.util.*;
public class Test {
public static int fact(int num) {
if (num == 1||num==0) {
return 1;
} else {
return num * fact(num - 1);
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("请输入你想知道的阶乘数n:");
int n=scanner.nextInt();
System.out.println(n+"的阶乘是"+fact(n));
}
}
2.递归求 1 + 2 + 3 + … + 10
import java.util.*;
public class Test {
public static int plus(int n){
if(n==1){
return 1;
}else if(n==0)