1.
错误。由于存在大量的重叠问题,所以计算 $f(n,m)$ 的时间复杂度远超 $O(nm)$。
2. 错误。即使去掉第 $4$ 行的代码,程序在 $m=1$ 时会返回 $n$,在 $n < 1$ 时会返回 $0$,所以不会无限递归下去。
3. 错误。即使同时去掉第 $4$ 行和第 $5$ 行的代码,程序在 $n < 1$ 和 $m < 1$ 时也会返回 $0$,所以不会无限递归下去。
4. D。$f(5,6)=175$。
5. B。$f(100,2)=f(1,1)+f(2,1)+f(3,1)+...+f(99,1)=1+2+3+...+99=4950$。
6. B。需要注意的是,当去掉第 $4$ 行的代码后,边界条件是:当 $m=0$ 时返回 $n$,否则当 $n=1$ 时,$f(n,m)$ 返回 $0$,据此计算得到 $f(3,6)=7$。