输入某个数(num)用递归的方法求它的阶乘
import java.util.Scanner;
public class Recursion {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
T t1 = new T();
System.out.println("请输入num:");
int num = myScanner.nextInt();
int res = t1.factorial(num);
System.out.println(num +"的阶乘是:" + res);
}
}
class T {
//factorial 阶乘
public int factorial(int n){
if (n==1) {
return 1;
}else{
return factorial(n-1) * n;
}
}
}
内存分析(画的比较乱)
从下到上,再从上到下,每一次的递归都会开辟一个新的栈,层层递归,层层开栈,当n等于1时停止开栈,然后向下返回,即可求出阶乘。



