这是Java中的递归静态方法.
public static int mystery(int m, int n) {
int result = 1;
if (m > 0) {
result = n * mystery(m-1, n);
}
System.out.println (m + " " + result);
return result;
}
Run Code Online (Sandbox Code Playgroud)
如果我们将方法调用为神秘(3,4),将打印到标准输出的内容是什么?什么是神秘召唤(3,4)的最终回报值?
标准输出部分的答案解释是什么?
输出:
0 1
1 4
2 16
3 64
Run Code Online (Sandbox Code Playgroud)
最终返回值为64.
考虑n
修复(对于所有意图和目的而言)并且让它f(m)
成为mystery(m,n)
.
然后
f(0) = 1
f(1) = n * f(0) = n
f(2) = n * f(1) = n * n
f(3) = n * f(2) = n * n * n
Run Code Online (Sandbox Code Playgroud)
你能看到一般模式吗?你能给一个封闭的表格f(n)
吗?