5177 sujets

Le Bar du forum

salut a tous

j'aimerais connaitre le code permettant de choisir 5 nombres DISTINCTS compris entre 1 et 30.
sans utiliser de while ou de boucle (sauf si on peut pas faire autrement)...

merci Smiley cligne
Modifié par sebnutt (15 Nov 2006 - 11:02)
Administrateur
sebnutt a écrit :
c'est résolu. merci quand meme...

Hello,

Merci de penser aux autres (on est bien sur un forum de discussion) et proposer ta solution qui intéressera peut-être quelqu'un Smiley cligne

De plus, pour faciliter les recherches de solutions, merci de ne pas oublier de marquer ton sujet comme [Résolu]
Bonjour,

Apparemment il a dû trouver son bonheur sur WRI :
a écrit :

Posté par La Chaise sauvage

hop

Code:

function distinctRand($nb,$max,$min=1) {
   $res = array();
   for($i=0 ; $i < $nb ; $i++) {
      $n = mt_rand($min,$max);
      while(in_array($n,$res)) {
         $n = mt_rand($min,$max);
      }
      $res[$i] = $n;
   }
   return $res;
}



(ta fonction comme la mienne assignaient une nouvelle valeur à $nb à chaque passage)


$mesnombres = distinctRand(5,30); renverra donc un array $mesnombres[] contenant 5 valeurs de 1 à 30

// edit : et par coquetterie, j'ai rajouté un paramètre optionnel $min, na Smiley langue


Bonne journée à tous
C'est malheureux de devoir réclamé la solution quand des personnes viennent pour réclamer et ensuite hop il oubli !! grrr Smiley fache
Administrateur
sebnutt a écrit :
j'ai oublié quoi ?
en fait, j'ai trouvé plus simple...


Je disais donc un peu plus haut...
Raphael a écrit :
Hello,

Merci de penser aux autres (on est bien sur un forum de discussion) et proposer ta solution qui intéressera peut-être quelqu'un Smiley cligne

De plus, pour faciliter les recherches de solutions, merci de ne pas oublier de marquer ton sujet comme [Résolu]
sebnutt a écrit :
j'ai oublié quoi ?
en fait, j'ai trouvé plus simple...



Au cas où tu oublierai une nouvelle fois je me permet de citer Raphaël ! Smiley sweatdrop

Raphael a écrit :

Hello,

Merci de penser aux autres (on est bien sur un forum de discussion) et proposer ta solution qui intéressera peut-être quelqu'un Smiley cligne

De plus, pour faciliter les recherches de solutions, merci de ne pas oublier de marquer ton sujet comme [Résolu]
Administrateur
Cocci> Ouvrir beaucoup d'onglets provoque des grillades Smiley lol

La solution donnée sur WebRankInfo est ... superbe. Occcment superbe Smiley ravi
Modifié par Felipe (15 Nov 2006 - 10:19)
a écrit :
Raphael a écrit :
Hello,

Merci de penser aux autres (on est bien sur un forum de discussion) et proposer ta solution qui intéressera peut-être quelqu'un ^


sebnutt a écrit :
j'ai oublié quoi ?
en fait, j'ai trouvé plus simple...

Smiley roflol

Une autre catégorie concernant l'accessibilité vient d'être découverte...
Smiley lol

sebnutt: Smiley cligne
Modifié par Vajra (15 Nov 2006 - 10:59)
j'ai édité, et voici la soluce, sans boucle (et ça c'est fort) :


array_slice(array_diff(array_rand(array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),6),array(0)),0,5);