gpt4 book ai didi

java - 需要一些帮助来解释此递归代码

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

我是递归新手,我的老师给了我们这个代码来检查:

public long rudolph(long a, long b){
if(b==0)
return a;
else
return rudolph(b, a % b);
}

我尝试每次对 a 和 b 使用不同的值来遵循逻辑,但我无法理解结果。如何在不运行的情况下解决这个问题?基本上是想弄清楚这段代码的一般用途。

示例:

if a = 9 and b = 7:
return rudolph(7,2);
return rudolph(2,1);
return rudolph(1,0);
return 1

if a = 10 and b = 5:
return rudolph(5,0);
return 5

if a = 5 and b = 2:
return rudolph(2,1);
return rudolph(1,0);
return 1

最佳答案

最好的办法是拿一张纸和一支铅笔,并在每次调用时记录 a 和 b 的值。从小(呃)(例如a=2,b=3)开始,看看递归在哪里以及如何停止,然后你可以从那里开始工作。

编辑:向我们展示您已经尝试过的内容,如果您确实无法弄清楚,我们可以尝试为您指出正确的方向(懒惰和真正不理解之间是有区别的)。

关于java - 需要一些帮助来解释此递归代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21125414/

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