使用递归求和所有阶乘的值
sums up the values of all factorials using recursion
我尝试编写一个递归方法,对从 0 到输入数字的所有阶乘的值求和,returns 结果为双精度值。
我用
递归阶乘法计算单个阶乘。
但我不明白如何制作求和所有阶乘的方法
使用两次递归而不是一次递归和 for 循环的递归方法。
这是代码!
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 ;
}
递归 sum
方法的行为与您的递归 factorial
方法完全相同。唯一的区别是它使用加法而不是乘法。
public static double sum(int numberinput) {
if (numberinput == 0)
return 1;
else
return factorial(numberinput) + sum(numberinput-1);
}
我尝试编写一个递归方法,对从 0 到输入数字的所有阶乘的值求和,returns 结果为双精度值。 我用 递归阶乘法计算单个阶乘。 但我不明白如何制作求和所有阶乘的方法 使用两次递归而不是一次递归和 for 循环的递归方法。
这是代码!
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 ;
}
递归 sum
方法的行为与您的递归 factorial
方法完全相同。唯一的区别是它使用加法而不是乘法。
public static double sum(int numberinput) {
if (numberinput == 0)
return 1;
else
return factorial(numberinput) + sum(numberinput-1);
}