gpt4 book ai didi

java - 有人可以使用值 (1,1) 追踪我吗

转载 作者:行者123 更新时间:2023-12-01 23:15:53 24 4
gpt4 key购买 nike

我在模拟编程考试中得到了这个,但我对这类事情不太擅长,有人可以向我解释一下我将如何经历类似以下的事情吗?如果您觉得它可以更好地解释它,请将值更改为问题中的值。这是最后的其他部分,这真的让我很失望。谢谢您的帮助。

public int function( int a, int b)
{
if (a<=0){
return b;
}
else if (b<=0)
{
return function( a-2, 0);
}
else
{
return function (function (a-1, b-1), b-1);

}

最佳答案

我将你的 (1,1) 解释为 a = 1b = 1 。也就是说:

a = 1 > 0 ,输入条件为 false,因此不采用第一个分支:

if (a<=0)

我们继续直到第二个分支。 b = 1 > 0输入条件再次为 false,因此我们也不会采用此分支:

else if (b<=0)

最终,我们到达else分支,我们接受它:

else

所以我们落在这一行:

    return function (function (a-1, b-1), b-1);

这里有一个递归!第一个电话是 function (a-1, b-1) ,所以我们打电话 functiona = 1 - 1 = 0b = 1 - 1 = 0 。让我们像上面一样重新开始:

a = 0 ,所以我们采用第一个分支:

if (a <= 0)

我们返回b = 0 .

现在,是时候进行第二次递归了。我们有a = function(a - 1, b - 1) = 0b = 1 - 1 = 0 。还是a = 0b = 0 ,所以结果将是 0如上所述。

最后,我们返回0 .

关于java - 有人可以使用值 (1,1) 追踪我吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21221858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com