Categories
//Двойной факториал: задача на написание кода на Python
Двойной факториал: задача на написание кода на Python
Напишите функцию, которая будет принимать число 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)
- 0 views
- 0 Comment