对于一个递归函数 w(a,b,c)
- 如果 a \le 0 或 b \le 0 或 c \le 0 就返回值 1。
- 如果 a>20 或 b> 20 或 c>20 就返回 w(20,20,20)
- 如果 a < b 并且 b < c 就返回 w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)。
- 其它的情况就返回 w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)
这是个简单的递归函数,但实现起来可能会有些问题。当 a,b,c 均为 15 时,调用的次数将非常的多。你要想个办法才行。
注意:例如 w(30,-1,0) 又满足条件 1 又满足条件 2,请按照最上面的条件来算,答案为 1。