我试图理解为什么以下函数对于我给它们的任何输入都输出为零。我会认为,基于将 2 输入到函数 g 的递归性质,会产生 12。我似乎用于任一函数的任何整数都只会输出 0。谁能指出我在思考过程中出错的地方?
public class dsdsfsd {
public static int i(int n) {
if (n == 0) return 0;
return i(n-1) + g(n-1);
}
public static int g(int n) {
if (n == 0) return 0;
return g(n-1) + i(n);
}
public static void main(String[] args) {
int a = 2;
System.out.println(g(a));
System.out.println(i(a));
System.out.println(g(g(a)));
}
}