Факториал
- From
- Ilia Kantor (2:5020/175.2)
- To
- Alexander Ivanchenko
- Date
- 2002-12-01T11:32:05Z
- Area
- RU.ALGORITHMS
From: "Ilia Kantor" <ilia@manual.ru>
Sat Nov 30 2002 08:37, Alexander Ivanchenko wrote to Ilia Kantor:
AI>>> Хорошо, если нет способа вычисления одним выражением, как можно
AI>>> наиболее эффективно вычислить факториал, в расчёте на экономию
AI>>> процессорного времени?
IK>> Зачем ? В большинстве случаев достаточно вычислить логарифм
IK>> факториала. Это делается одной простой формулой.
AI> Какой формулой?
Вот приближение десятичного логарифма факториала:
#include <math.h>
double log10factorial(double n)
{
return((-log(902961561600.0)+log(2.0)/2.0+log(0.3141592653589793E1)/2.0
+log(902961561600.0*n*n*n*n*n*n*n+75246796800.0*n*n*n*n*n*n
+3135283200.0*n*n*n*n*n-2421135360.0*n*n*n*n-207204480.0*n*n*n
+707957280.0*n*n+62961828.0*n-534703531.0)-13.0/2.0*log(n)
+n*log(n)-n)/log(10.0));
}
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)