阶乘方法-java递归中的逻辑错误
我已发表以下声明: 阶乘为:0 阶乘是:8 阶乘为:24 但是5的阶乘应该是120 我有以下问题:阶乘方法-java递归中的逻辑错误,java,algorithm,recursion,Java,Algorithm,Recursion,我已发表以下声明: 阶乘为:0 阶乘是:8 阶乘为:24 但是5的阶乘应该是120 我有以下问题: 递归在这里是如何工作的 如何解决逻辑问题 你可以在网上找到几个答案, 你的答案是错误的。事实上有一个逻辑错误=n*n-1 public static void main(String[] args) { factorial(5); } public static void factorial(int n) { int
你可以在网上找到几个答案, 你的答案是错误的。事实上有一个逻辑错误=n*n-1
public static void main(String[] args)
{
factorial(5);
}
public static void factorial(int n)
{
int fact=n;
if(n>0)
{
fact =n*n-1;
n=n-2;
factorial(n);
System.out.println("Factorial is: "+fact);
}
}
int fact(int n)
{
int result;
if(n==1)
return 1;
result = fact(n-1) * n;
return result;
}
class Test {
static int fact = 1;
public static void main(String[] args) {
factorial(5);
}
public static void factorial(int n)
{
if(n>0) {
fact = fact * (n);
factorial(n-1);
} else {
System.out.println("Factorial is: "+fact);
}
}
}