求解答一下递归算阶乘
.
为什么 int recurse = factorial(n - 1); 这句话是阶乘,里面也没有运算符号呀
.
public static int factorial(int n) {
if (n == 0) {
return 1;
}
int recurse = factorial(n - 1);
int result = n * recurse;
return result;
}
求解答一下递归算阶乘
.
为什么 int recurse = factorial(n - 1); 这句话是阶乘,里面也没有运算符号呀
.
public static int factorial(int n) {
if (n == 0) {
return 1;
}
int recurse = factorial(n - 1);
int result = n * recurse;
return result;
}
参考GPT和自己的思路:
这里的递归实现的是计算阶乘的函数,递归过程是不断地调用函数自身来求解。在这个计算阶乘的函数中,n 指的是要计算阶乘的数,而递归调用的是计算 n-1 的阶乘。递归调用的过程会不断地调用函数自身,直到最小值 0,然后逆向递归回来求解。
在这个计算阶乘的函数中,int recurse = factorial(n - 1); 是指递归调用函数来计算 n-1 的阶乘,这里并没有运算符号的出现,因为递归调用函数已经实现了计算和乘法的操作。