Bonjour
Connaissez vous une méthode astucieuse pour tirer 4 nombres aléatoires de 1 à 100 et tous différents ?
merci
Bonjour
Connaissez vous une méthode astucieuse pour tirer 4 nombres aléatoires de 1 à 100 et tous différents ?
merci
Bonjour,
Pour titer les 4 nombres aléatoires tu utilises donc la fonction rand() dont le synopsis est ' int rand ( int $min , int $max ) '.
Ensuite, soit tu mets les 4 rand() en série dans une boucle qui test que les 4 sont différents:
OU tu fais rand() par rand() avec un test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 do { $a = rand(0, 100); $b = rand(0, 100); $c = rand(0, 100); $d = rand(0, 100); } while ( ($a <> $b) and ($a <> $c) and ($a <> $d) and ($b <> $c) ($b <> $d) and ($c <> $d) );
OU ya une solution super astucieuse (qui me vient pas comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $a = rand(0, 100); do { $b = rand(0, 100); while ( $b <> $a); do { $c .... while ( ($c <> $a) et ($c <> $b) ) ...)
entre temps j'ai obtenu une reponse
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php $rand = array(); while (count($rand) < $total ) { $r = mt_rand($min,$max); if ( !in_array($r,$rand) ) { $rand[] = $r; } } ?>
<?php
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function uniqueRand($n, $min = 0, $max = null) { if($max === null) $max = getrandmax(); $array = range($min, $max); $return = array(); $keys = array_rand($array, $n); foreach($keys as $key) $return[] = $array[$key]; return $return; } ?>
Ouais j'avais encore oublié le in_array (cause vacances) mais c sûrement mieux
Si tu es ok passes à résolu pour prendre en compte ta fonction comme résolution de ton post, merci.
jai marque RESOLU merci
Partager