maths.double_factorial¶
Functions¶
|
Compute double factorial using iterative method. |
|
Compute double factorial using recursive method. |
Module Contents¶
- maths.double_factorial.double_factorial_iterative(num: int) int ¶
Compute double factorial using iterative method.
To learn about the theory behind this algorithm: https://en.wikipedia.org/wiki/Double_factorial
>>> from math import prod >>> all(double_factorial_iterative(i) == prod(range(i, 0, -2)) for i in range(20)) True >>> double_factorial_iterative(0.1) Traceback (most recent call last): ... ValueError: double_factorial_iterative() only accepts integral values >>> double_factorial_iterative(-1) Traceback (most recent call last): ... ValueError: double_factorial_iterative() not defined for negative values
- maths.double_factorial.double_factorial_recursive(n: int) int ¶
Compute double factorial using recursive method. Recursion can be costly for large numbers.
To learn about the theory behind this algorithm: https://en.wikipedia.org/wiki/Double_factorial
>>> from math import prod >>> all(double_factorial_recursive(i) == prod(range(i, 0, -2)) for i in range(20)) True >>> double_factorial_recursive(0.1) Traceback (most recent call last): ... ValueError: double_factorial_recursive() only accepts integral values >>> double_factorial_recursive(-1) Traceback (most recent call last): ... ValueError: double_factorial_recursive() not defined for negative values