函数递归,求f(2, 3)=
int f(int x, int y)
{
if(x==0) return y+2;
if(y==0) return f(x-1, 1);
return f(x-1, f(x, y-1));
}
A,4 B,16 C, 31 D,61
怎么理解?答案D
转换成数学公式就好理解了。
太多了写不下了。
在F的作用下,F(X前一个数,F(本身,Y前一个数))
=>f(2,3)
=>f(2-1,f(2,3-1))
=>f(1,f(2,2))
=>f(1,f(2-1,f(2,2-1)))
=>f(1,f(1,f(2,1)))
=>f(1,f(1,f(2,1-1)))
=>f(1,f(1,f(2,0)))
=>f(1,f(1,f(2-1,1)))
=>f(1,f(1,f(1,1))))
=>f(1,f(1,f(1-1,f(1,1-1))))
=>f(1,f(1,f(0,f(1,0))))
=>f(1,f(1,f(1,0)+2))
=>f(1,f(1,f(1-1,1)+2))
=>f(1,f(1,f(0,1)+2))
=>f(1,f(1,2+2)))
=>f(1,f(1,4))
=>f(1,f(1-1,f(1,4-1)))
=>f(1,f(0,f(1,3))))
=>f(1,f(1,3)+2))
=>f(1,f(1-1,f(1,3-2)+2))
谢谢你的回答,但是太复杂了。我还是不能够理解这个调用过程。