首页 > 解决方案 > 如何递归计算2n的阶乘?

问题描述

我遇到了以下问题:n是非零正整数,我必须计算:(2n)的乘积!
我怎样才能递归地做到这一点

标签: recursion

解决方案


好的,让我向您解释问题以及如何解决它:

我们将创建一个计算 (2n) 的函数!(这意味着我们将计算 (2n) (2n-1) (2n-2)...*2*1

所以停止条件是当 (2n) 达到 1 时,当 (2n) 大于 1 时,只需执行 2n*(2n-1)。

//you have to pass (2n) into the argument
public static int calculate(int valueOf2n) {
    //stop condition
    if(valueOf2n == 1) {
        return 1;
    }
    else {
        return valueOf2n*calculate(valueOf2n - 1);
    }
}

推荐阅读