gpt4 book ai didi

java - 具有递归 (n+(n-1)+n) 错误的公式

转载 作者:行者123 更新时间:2023-12-01 06:28:38 24 4
gpt4 key购买 nike

我需要使用递归来计算玩家获得多少枚奖牌,例如如果我输入 3,则玩家获得 8 枚奖牌 [Ex1.(3+(3-1)+3)=(3+2+3)= 8]/[Ex2.(5+(5-1)+5)=(5+4+5)=14] 当我在 main 方法上输入 1 来测试它时它有效,但是当我更改大于 1 的数字时它崩溃,我收到红色字母作为错误,这是我收到的错误。我已经完成了大约 5 种递归方法,但我一直停留在这一方法上。

java.lang.StackOverflowError
at RecursiveFunctions.countMedals(RecursiveFunctions.java:87)
<小时/>
public class RecursiveFunctions{
public static int countMedals(int n){
if(n==0){
return 1+(1-1)+1;
}
else{
return countMedals((n)+(n-1)+(n));
}

public static void main(String[] args){
System.out.println("Number of Medals: " + RecursiveFunctions.countMedals(3));
}
}

最佳答案

尝试跟踪该函数,看看会发生什么:

countMedals(3) returns countMedals(3 + 2 + 3)
countMedals(8) returns countMedals(8 + 7 + 8)

这将不断增长,并且永远不会达到您的基本情况 0。

关于java - 具有递归 (n+(n-1)+n) 错误的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22081231/

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