Python: вычислить факториал нецелого числа
мне интересно, есть ли быстрый, Питонический способ вычисления факториалов нецелых чисел (например, 3.4)? Конечно, булт-Ин на Math
модуль доступен, но он работает только для интегралов (меня не волнуют отрицательные числа здесь).
2 ответов
вы хотели бы использовать math.gamma(x)
.
на Гамма-функция является расширением факторной функции до вещественных чисел.
обратите внимание, что функция смещается на 1 по сравнению с факторной функцией. Так что math.factorial(n)
is math.gamma(n + 1)
.
в Python 2.7 или 3.2, вы можете использовать math.gamma(x + 1)
. В более старых версиях вам понадобится внешняя библиотека, такая как SciPy.