[PHP] - Choix de nombres aleatoire tous different !?

- Choix de nombres aleatoire tous different !? [PHP] - PHP - Programmation

Marsh Posté le 12-04-2002 à 16:53:12    

Bonjour j'essaie de faire un algo qui choisis et affiche 5 nombre aleatoire entre 1 et 15 mais ces 5 nombres doivent être different il ne peut pas y avoir 2 les meme.
 
j'ai fait un algo qui marche a moitier cad que parfois j'ai ceci :  
 
12
8
13
 
Fatal error: Maximum execution time of 30 seconds exceeded in /u/ipmedia/MULTI/netsexy/public_html/photos_jour.php on line 41
 
donc mais parfois ca marche  mais apparement il est trop lent !  
 
Voici la source :  
 srand(time());
 $j=1;
 while($j<6)
  {        
  $choix = rand(1,15);  
  $vrf_choix[$j]=$choix;
  for($k=1;$k<6;$k++)
   {
   if($choix==$vrf_choix[$k] and $k!=$j) $not_inc=1;
   }    
   
  if($not_inc!=1)
   {
   $j++;  
   echo $choix."<br>";
   }
  }
 
 
voila je c pas si y a une fonction qui s'implifie tout ca...  
merci d'avance pour les reponses !

Reply

Marsh Posté le 12-04-2002 à 16:53:12   

Reply

Marsh Posté le 12-04-2002 à 16:58:30    

le plus simple c'est de dissocier
 
1) Un nombre entre 1 et 3
2) un nombre entre 4 et 6
3) Un nombre entre 7 et 9
4) Un nombre entre 10 et 12
5) Un nombre entre 13 et 15
 
En termes de stat ce n'est probablement pas la meilleure solution mais c'est la plus simple à mon sens.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-04-2002 à 16:59:52    

C'est pas con !
Merci pour ta reponses je v essayer ca...  
Tkx !

Reply

Marsh Posté le 14-04-2002 à 15:42:19    

you're welcome  :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 14-04-2002 à 23:55:15    

1) creer une chaine de 15 caractères abc...p
2 ) avec la fonction random tirer un numero au hasard entre 1 et l, où l est la longueur de la chaine
3) convertir le caractère coorespondant en nombre
4) supprimer de la chaine le caractère tiré ;
5) recommencer au plus 15 fois  
ça marche bien en pascal, et il n'y a pas de répétition

Reply

Marsh Posté le 15-04-2002 à 08:41:22    

Et c'est statistiquement correct.

Reply

Marsh Posté le 15-04-2002 à 09:38:53    

Cherrytree a écrit a écrit :

Et c'est statistiquement correct.  




 
exact. Chapeau bas. Meilleure solution que la mienne


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed