You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用wacky(4,6)的返回值是什么?如何逐步计算该递归?

一步步拆解wacky(4,6)的递归计算过程

先把这个递归函数的代码清晰列出来:

public static int wacky (int x , int y){ 
    if(x <= 1){ 
        return y; 
    } else{ 
        return wacky(x - 1, y - 1) + y; 
    } 
}

递归的核心逻辑是先逐层深入到终止条件(x<=1时返回y),再把结果一步步回溯叠加,咱们来一步步算wacky(4,6):

  1. 计算wacky(4,6):
    x=4>1,进入else分支,所以结果 = wacky(3,5) + 6

  2. 计算wacky(3,5):
    x=3>1,进入else分支,结果 = wacky(2,4) + 5

  3. 计算wacky(2,4):
    x=2>1,进入else分支,结果 = wacky(1,3) + 4

  4. 计算wacky(1,3):
    x=1<=1,触发终止条件,直接返回y=3

现在开始回溯计算,把结果往回带:

  • wacky(2,4) = 3 + 4 = 7
  • wacky(3,5) = 7 + 5 = 12
  • wacky(4,6) = 12 + 6 = 18

所以最终wacky(4,6)的返回值是18~你之前的计算思路没有遵循递归“先深入再回溯”的逻辑,把各个阶段的数字乱加在一起,自然会出错啦。

内容的提问来源于stack exchange,提问作者user8850268

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:27:21