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
?>
Matematica di Precisione Arbitraria BCMath
- Introduzione
- Installazione/Configurazione
- Costanti predefinite
- Funzioni BC Math
- bcadd — Somma due numeri a precisione arbitraria
- bccomp — Confronta due numeri a precisione arbitraria
- bcdiv — Divide due numeri a precisione arbitraria
- bcmod — Ricava il modulo di un numero a precisione arbitraria
- bcmul — Moltiplica due numeri a precisione arbitraria
- bcpow — Effettua l'elevamento a potenza
- bcpowmod — Effettua l'elevamento a potenza, applicando quindi il modulo
- bcscale — Imposta il valore di precisione di default per tutte le funzioni matematich BCMath
- bcsqrt — Ottiene la radice quadrata di un numero a precisione arbitraria
- bcsub — Sottrae un numero a precisione arbitraria da un altro
ClaudiuS ¶
4 months ago
