好的,在这个方法中,我应该只用evens来计算阶乘。因此,例如,如果我输入7为n我会期望6 * 4 * 2 = 48.我应该修复代码,以便它可以工作。我现在已经尝试了一个小时,并且不知道我做错了什么。这是我的代码:
int p07EvenFactorial(int n) {
if (n % 2 == 1) {
n--;
}
int fact = 1;
for (int i = n; i > 0; i--) {
fact = fact + 2 * i;
}
return fact;
}
答案 0 :(得分:0)
怎么样
int p07EvenFactorial(int n) {
if (n % 2 == 1) {
n--;
}
int fact = 1;
for (int i = 2; i <= n; i = i + 2) {
fact = fact * i;
}
return fact;
}
答案 1 :(得分:0)
这个怎么样
public int fact(int n) {
if(n % 2 ==1){
n = n -1;
}
if(n == 0){
return 1;
} else {
return n*fact(n-2);
}
}