我在这个问题上卡了很长时间。我已经成功地完成了一个递归阶乘。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
双阶乘
对于一个偶数n,其双阶乘是所有小于等于n的正偶数的积。对于一个奇数p,其双阶乘是所有小于等于p的正奇数的积。
如果n是偶数,则 n!! = n*(n - 2)*(n - 4)*(n - 6)* ... *4*2
如果p是奇数,则 p!! = p*(p - 2)*(p - 4)*(p - 6)* ... *3*1
但我不知道如何计算双阶乘。有什么帮助吗?
n-1
变成了n-2
,而最终数字(基本情况)从 0 变成了 2 或 1 中的一个。 - moinudin