Générateur de lancers de dé\n" ; echo "
\n" ; echo "

Nombre d'issues ?\n" ; echo "\n" ; echo "

\n" ; echo "

Combien de lancers ?\n" ; $n = 10 ; echo "\n" ; echo "

\n" ; echo "

Longueur des séquences ?\n" ; $n = 10 ; echo "\n" ; echo "

\n" ; echo "\n" ; echo "
\n" ; echo "

Consulter/télécharger le code

\n" ; echo "\n\n" ; exit ; } /* INITIALISATION */ for ($longueur = 1 ; $longueur <= $_GET['seq'] ; $longueur++) { for ($numero = 1 ; $numero <= $_GET['nb_issues'] ; $numero++) { $pre_tirage = str_repeat($numero, $longueur-1) ; for ($i = 1 ; $i <= $_GET['nb_issues'] ; $i++) { $effectif[$i] = 0 ; $effectif_groupe[$pre_tirage] = 0 ; } } } $heure_debut = microtime(true) ; /* TIRAGE */ $tirage_memoire = '' ; for ($i = 1 ; $i <= $_GET['nb_tirages'] ; $i++) { /* un tirage */ $tirage = rand (1, $_GET['nb_issues']) ; /* mise en mémoire des suites de tirages */ $tirage_memoire .= $tirage ; $tirage_memoire = substr($tirage_memoire, (0 - $_GET['seq'])) ; $j_max = strlen($tirage_memoire) ; for ($j = 1 ; $j <= $j_max ; $j++) { $cle = substr($tirage_memoire, (0 - $j)) ; if (preg_match('/^((.)\2*)?.$/', $cle)) { $effectif[$cle] += 1 ; $pre_tirage = substr($cle, 0, ($j - 1)) ; $effectif_groupe[$pre_tirage] += 1 ; } } } $heure_fin = microtime(true) ; /* AFFICHAGE */ echo "

Résultat des lancers

\n" ; echo "\n" ; echo "

" . number_format($_GET['nb_tirages'], 0, ',', ' ') . " lancers obtenus en " . number_format($heure_fin - $heure_debut, 6, ',', ' ') . " secondes.

\n" ; for ($longueur = 1 ; $longueur <= $_GET['seq'] ; $longueur++) { echo "

Séquences de $longueur lancer" . ($longueur>1?'s':''). "

\n" ; echo "\n" ; echo "\n" ; if ($longueur > 1) { echo "\n" ; } for ($i = 1 ; $i <= $_GET['nb_issues'] ; $i++) { echo "\n" ; } echo "\n" ; echo "\n" ; if ($longueur > 1) { for ($numero = 1 ; $numero <= $_GET['nb_issues'] ; $numero++) { $pre_tirage = str_repeat($numero, $longueur-1) ; if ($effectif_groupe[$pre_tirage] > 0) { echo "\n" ; echo "\n" ; $total = 0 ; for ($i = 1 ; $i <= $_GET['nb_issues'] ; $i++) { echo "\n" ; $total += $effectif[$pre_tirage.$i] ; } echo "\n" ; echo "\n" ; echo "\n" ; for ($i = 1 ; $i <= $_GET['nb_issues'] ; $i++) { echo "\n" ; } echo "\n" ; echo "\n" ; } } } else { echo "\n" ; for ($numero = 1 ; $numero <= $_GET['nb_issues'] ; $numero++) { echo "\n" ; $total += $effectif[$numero] ; } echo "\n" ; echo "\n" ; echo "\n" ; for ($numero = 1 ; $numero <= $_GET['nb_issues'] ; $numero++) { echo "\n" ; } echo "\n" ; echo "\n" ; } echo "
 $iTotal
Après $pre_tirage\n" ; echo $effectif[$pre_tirage.$i] ; echo "$total
\n" ; echo number_format($effectif[$pre_tirage.$i] * 100 / $effectif_groupe[$pre_tirage], 2, ',', '') . " %" ; echo "100%
\n" ; echo $effectif[$numero] ; echo "$total
\n" ; echo number_format($effectif[$numero] * 100 / $effectif_groupe[''], 2, ',', '') . " %" ; echo "100%
\n" ; } ?>