Двойной факториал

Напишите функцию, которая будет принимать число num и возвращать его двойной факториал. Математическая формула двойного факториала следующая.

Если num — четное число:

num !! = num (num - 2)(num - 4)(num - 6) ... (4)(2)

Если num — нечетное число:

num !! = num (num - 2)(num - 4)(num - 6) ... (3)(1)

Если num = 0 или num = -1, тогда num !! = 1.

Примечания

  • Исходим из того, что num будет больше или равно -1.
  • Двойной факториал — не то же самое, что умноженный на 2.
  • Попробуйте решить при помощи рекурсии.

Примеры

double_factorial(0) ➞ 1
double_factorial(2) ➞ 2
double_factorial(9) ➞ 945
# 9*7*5*3*1 = 945
double_factorial(14) ➞ 645120

Варианты решения

def double_factorial(n):
    return 1 if n < 2 else n * double_factorial(n - 2)
def double_factorial(num):
    if num in (0, 1) or num < 0:
        return 1
    return num * double_factorial(num - 2)