Needed to compute some permutations and found the BC extension great but poor on functions, so untill this gets implemented here's the factorial function:
<?php
/* BC FACTORIAL
* n! = n * (n-1) * (n-2) .. 1 [eg. 5! = 5 * 4 * 3 * 2 * 1 = 120]
*/
function bcfact($n){
$factorial=$n;
while (--$n>1) $factorial=bcmul($factorial,$n);
return $factorial;
}
print bcfact(50);
//30414093201713378043612608166064768844377641568960512000000000000
?>
Matemáticas de precisión arbitraria BCMath
- Introducción
- Instalación/Configuración
- Constantes predefinidas
- Funciones de BC Math
- bcadd — Añade dos números de precisión arbitrária
- bccomp — Compara dos números de precisión arbitraria
- bcdiv — Divide dos números de precisión arbitraria
- bcmod — Obtiene el módulo de un número de precisión arbitraria
- bcmul — Multiplica dos números de precisión arbitraria
- bcpow — Elevar un número de precisión arbitraria a otro
- bcpowmod — Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
- bcscale — Establece los parametros de scale por defecto para todas las funciones matemáticas de bc
- bcsqrt — Obtiene la raiz cuadrada de un número de precisión arbitraria
- bcsub — Resta un número de precisión arbitraria de otro
ClaudiuS ¶
4 months ago
