pyt*_*ner 5 python math factorial
很久以来我一直坚持这个问题.我设法做了一个递归因子.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
双因子对于偶数整数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
但我不知道做双重因子.有帮助吗?
Kab*_*bie 16
reduce(int.__mul__,range(n,0,-2))
Run Code Online (Sandbox Code Playgroud)
这不是与具有不同结束条件和不同参数的递归调用的阶乘相同吗?
def doublefactorial(n):
if n <= 0:
return 1
else:
return n * doublefactorial(n-2)
Run Code Online (Sandbox Code Playgroud)
如果n是偶数,则当 时停止n == 0。如果n是奇数,那么它将在 时停止n == -1。
def doublefactorial(n):
if n <= 0:
return 1
else:
return n * doublefactorial(n-2)
Run Code Online (Sandbox Code Playgroud)
应该可以做到这一点。除非我误会了