3v4l.org

run code in 300+ PHP versions simultaneously
<?php $test = probabilite(array(0.15, 0.1, 0.55, 0.1), array(0,0,3,1,1), 5); echo $test; function combinaison($nombredeupsvoulus, $nombretotal) { return factoriel($nombretotal)/(factoriel($nombredeupsvoulus)*factoriel($nombretotal-$nombredeupsvoulus)); } function factoriel($nombre){ if($nombre==0) { return 1; }else return $nombre*factoriel($nombre-1); } function probabilite($tableaudeProbabilite, $tableauDesUpMinElements, $nombreDeUpsRestants){ $N=$nombreDeUpsRestants;//nombre de up restant $probaFeu=$tableaudeProbabilite[0];//proba d'up en feu $probaBois=$tableaudeProbabilite[1];//proba d'up en bois $probaEau=$tableaudeProbabilite[2];//proba d'up en eau $probaFoudre=$tableaudeProbabilite[3];//proba d'up en foudre. La proba d'up en air se déduit des autres proba. $feu=$tableauDesUpMinElements[0];//nombre de up min désiré en feu $bois=$tableauDesUpMinElements[1];//nombre de up min désiré en bois $eau=$tableauDesUpMinElements[2];//nombre de up min désiré en eau $foudre=$tableauDesUpMinElements[3];//nombre de up min désiré en foudre $air=$tableauDesUpMinElements[4];//nombre de up min désiré en air $x=$feu; $s1=0; while($x<=($N-($bois+$eau+$foudre+$air))) { $y=$bois; $s2=0; while($y<=($N-($x+$eau+$foudre+$air))) { $z=$eau; $s3=0; while($z<=($N-($x+$y+$foudre+$air))) { $t=$foudre; $s4=0; while($t<=($N-($x+$y+$z+$air))) { $s4=$s4+combinaison($t,$N-($x+$y+$z))*pow($probaFoudre,$t)*pow(1-($probaFeu+$probaBois+$probaEau+$probaFoudre),$N-($x+$y+$z+$t)); $t++; } $s3=$s3+combinaison($z,$N-($x+$y))*pow($probaEau,$z)*$s4; $z++; } $s2=$s2+combinaison($y,$N-$x)*pow($probaBois,$y)*$s3; $y++; } $s1=$s1+combinaison($x,$N)*pow($probaFeu,$x)*$s2; $x++; } return $s1; }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.21, 7.0.0 - 7.0.20, 7.1.0 - 7.1.7, 7.2.29 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
0.033275

preferences:
206.41 ms | 406 KiB | 307 Q