gpt4 book ai didi

java - 递归打印阶乘

转载 作者:行者123 更新时间:2023-12-01 11:35:53 26 4
gpt4 key购买 nike

所以我确实搜索并阅读了该网站上的每个阶乘列表,但我似乎无法弄清楚我的代码出了什么问题。我尝试了多种不同的返回方法,但都失败了。有什么想法吗?

public class RecursivelyPrintFactorial {
public static void printFactorial(int factCounter, int factValue) {
int nextCounter = 0;
int nextValue = 0;

if (factCounter == 0) // Base case: 0! = 1
System.out.println("1");
}
else if (factCounter == 1) // Base case: print 1 and result
System.out.println(factCounter + " = " + factValue);
}
else { // Recursive case
System.out.print(factCounter + " * ");
nextCounter = factCounter - 1;
nextValue = nextCounter * factValue;
}

return factValue * printFactorial(factValue - factCounter);

}
}

public static void main (String [] args) {
int userVal = 0;

userVal = 5;
System.out.print(userVal + "! = ");
printFactorial(userVal, userVal);

}
}

我有一种感觉,我的返回中的方程式不正确,但我尝试了我能想到的所有组合。它让我发疯。每个人都报告一个错误。有什么想法吗?

最佳答案

返回factValue * printFactorial(factValue - factCounter);

我认为您应该使用“下一个”值而不是这些值。

编辑:另请注意,该函数有两个参数并且无效。返回factValue 乘以void 没有意义。

关于java - 递归打印阶乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997021/

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