2012-04-07 18 views
7

İntegral olmayan sayıların (örn. 3.4) faktörlerini hesaplamak için hızlı, Pythonic bir yol olup olmadığını merak ediyorum? Tabii ki, Math modülündeki factorial() bult işlevinde kullanılabilir, ancak yalnızca integraller için çalışır (burada negatif sayılar umurumda değil).Python: İntegral olmayan bir sayı faktörü hesaplayın

cevap

11

Sen math.gamma(x).

gamma function gerçek sayılara faktöriyel fonksiyonunun bir uzantısıdır kullanmak isterdim.

Fonksiyonun, faktoriyel işlevle karşılaştırıldığında 1'e kaydırıldığını unutmayın. Dolayısıyla math.factorial(n), math.gamma(n + 1).

3

Python 2.7 veya 3.2'de math.gamma(x + 1)'u kullanabilirsiniz. Eski sürümlerde, SciPy gibi bir dış kütüphaneye ihtiyacınız olacak.

+0

Güzel bir - teşekkürler! – Julie