recursion - 如何递归计算2n的阶乘?
问题描述
我遇到了以下问题:n是非零正整数,我必须计算:(2n)的乘积!
我怎样才能递归地做到这一点
解决方案
好的,让我向您解释问题以及如何解决它:
我们将创建一个计算 (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);
}
}
推荐阅读
- c - 关于不兼容指针类型的警告 - c
- task - Yocto - 为什么我不能覆盖构建任务?
- pandoc - Pandoc 是否可以将文本作为输入参数而不是输入文件?
- python - 一个元组的熊猫数据框索引?
- css - 如何使用均匀分隔的链接和父容器制作动态导航栏 (React/CSS)
- kotlin - kotlin 接口成员的默认可见性
- javascript - 将画布对象拖放到可缩放的 SVG 图像地图上
- python - Coinbase-API cbpro Websocket 订单提交问题
- css - 当侧边栏未折叠时,如何使浏览器窗口的 div 宽度为 100%?
- r - 如何从 zip 文件中的文件名中删除特殊字符?