【发布时间】:2018-12-27 07:38:30
【问题描述】:
大家好,这个递归函数需要帮助,g(2)、g(0) 和 g(-5) 在这个函数中的结果是什么。
public static int g(int v) {
if (v>5) {
return 0;
}
if (v<=0) {
return Math.abs(v)+g(v+2);
}
return (v-1)+g(v+1);
我了解了递归的一般要点,我知道 g(2) 产生 10 但我很幸运,因为这个数字路径从未使用过第一个 return 语句。我不确定g(0) 和g(-5) 将如何工作......因为第一个return 语句被唤起。有人可以解释一下吗?
【问题讨论】:
-
尝试使用调试器调试它。将所有步骤写在一张纸上,然后尝试找出为什么
-
关注paper stack recursion model,用纸和铅笔自己动手。