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
?>
Fonctions BCMath
- Introduction
- Installation/Configuration
- Constantes pré-définies
- Fonctions BC Math
- bcadd — Additionne deux nombres de grande taille
- bccomp — Compare deux nombres de grande taille
- bcdiv — Divise deux nombres de grande taille
- bcmod — Retourne le reste d'une division entre nombres de grande taille
- bcmul — Multiplie deux nombres de grande taille
- bcpow — Élève un nombre à une puissance donnée
- bcpowmod — Calcule le reste modulo d'un nombre élevé à une puissance
- bcscale — Spécifie le nombre de décimales par défaut pour toutes les fonctions
- bcsqrt — Récupère la racine carrée d'un nombre de grande taille
- bcsub — Soustrait un nombre de grande taille d'un autre
ClaudiuS ¶
3 months ago
