提问人:wdwizzard 提问时间:8/5/2022 最后编辑:wdwizzard 更新时间:8/5/2022 访问量:56
序列 Java 中奇数的递归问题
Problem with recursion for odd number in sequence Java
问:
public static int calculate(int n){
if (n <= 1) {
return 1;
} else if (n >= 2 && n%2 == 0){
return (n * calculate(n - 2));
} else if (n >= 3 && n%2 == 1){
return n-1 * calculate(n-2);
} else {
return n;
}
我需要它来为奇数制作一个数字序列:
(n-1) * (n-2) * (n-2)..... * 2
例如:
n=9 == 8 * 6 * 4 * 2 or n=11 == 10 * 8 * 6 .....
这条线不起作用。return n-1 * calculate(n-2)
答:
0赞
Utkarsh Sahu
8/5/2022
#1
因此,您错过了括号,操作顺序出错了,并且您得到了错误的输出......
而不是 ,您必须将return n-1 * calculate(n-2)
return (n-1) * calculate(n-2)
现在您将获得正确的输出...
评论
(n-1) * calculate(n-2)
(n-1)