Saltar al contenido

Cómo simplificar o calcular una fórmula con factoriales muy grandes

Si encuentras alguna incompatibilidad con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al proyecto final.

Solución:

Necesitas la aproximación de Stirling. Es muy preciso para factoriales grandes.

No es necesario calcular los factoriales individuales para calcular $k!/(ki)!i!$, ya que ese es el coeficiente binomial $binomki$. En Wikipedia se puede encontrar un algoritmo simple para calcular coeficientes binomiales. Un algoritmo más sofisticado se debe a Goetgheluck (JSTOR); Las implementaciones se pueden encontrar aquí y aquí.

Por supuesto, con números del tamaño que tiene, esto podría no ser factible, y en este caso también recomiendo la fórmula de Stirling.

Aquí hay un buen artículo sobre la implementación de la aproximación de Stirling, junto con una implementación de referencia:

http://tresbrothers.org/brendan/blog/stirlings-approximation-formula-clojure/

Si te ha sido útil nuestro artículo, sería de mucha ayuda si lo compartes con otros programadores de esta manera contrubuyes a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *