Java 使用递归对所有阶乘的值求和
我尝试编写一个递归方法,将从0到输入数字的所有阶乘值相加,并将结果作为双精度返回。 我用 计算单个因子的递归因子方法。 但是我不明白我怎么能得到所有阶乘求和的方法 递归方法使用两个递归而不是一个递归,用于循环 这是密码Java 使用递归对所有阶乘的值求和,java,recursion,sum,factorial,Java,Recursion,Sum,Factorial,我尝试编写一个递归方法,将从0到输入数字的所有阶乘值相加,并将结果作为双精度返回。 我用 计算单个因子的递归因子方法。 但是我不明白我怎么能得到所有阶乘求和的方法 递归方法使用两个递归而不是一个递归,用于循环 这是密码 public static int factorial(int numberinput) { if (numberinput == 0) return 1; else return (numberinput*factorial(n
public static int factorial(int numberinput) {
if (numberinput == 0)
return 1;
else
return (numberinput*factorial(numberinput-1));
}
public static double sum(int numberinput) {
double sum = 0;
for (int i = 0; i <= numberinput; i++)
sum += factorial(i);
return sum ;
}
公共静态整数阶乘(整数输入){
如果(numberinput==0)
返回1;
其他的
返回(numberinput*阶乘(numberinput-1));
}
公共静态双和(整数输入){
双和=0;
对于(int i=0;i递归sum
方法可以像递归factorial
方法一样工作。唯一的区别是它使用加法而不是乘法
public static double sum(int numberinput) {
if (numberinput == 0)
return 1;
else
return factorial(numberinput) + sum(numberinput-1);
}
一种可能是在阶乘方法中添加一个runningTotal
参数。0!=1,因此if语句应该返回1而不是10@Genzotto我没想过。你说得对。我会修好的。谢谢