甚至是Java中的因子方法。我已经尝试了一切,无法弄明白

时间:2016-04-27 01:27:27

标签: java eclipse for-loop factorial

好的,在这个方法中,我应该只用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;
}

2 个答案:

答案 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);
        }
}