Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/06/2013, 11:38
Avatar de JorM
JorM
 
Fecha de Ingreso: diciembre-2012
Ubicación: Argentina
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Array de numeros primos aleatorios

Código PHP:
Ver original
  1. <?php
  2. $arrP = array();    //Numeros Pares
  3. $arrL = array();    //Seleccion Final
  4. $iI = 0;            //Inicio Intervalo
  5. $iF = 2000;         //Fin Intervalo
  6. //---------------------------------------------------------------------------------------------
  7. //LLenar "arrP" con los numeros pares comprendidos entre "iI" e "iF"
  8. for($i=$iI;$i<=$iF;$i++){
  9.     $arrP[]=(2*$i); //2n = Par
  10. }
  11. //---------------------------------------------------------------------------------------------
  12. $arrPc = count($arrP);
  13. for($z=1;$z<$arrPc;$z++){ //Bucle para comprobar que no tome los mismos valores puede eliminarse
  14.  
  15.     $rValue = $arrP[rand(0,$arrPc)]; //Selecciono numero Par aleatorio de "arrP"
  16.     $arrLc = count($arrL); //Cantidad de elementos de "arrL"
  17.    
  18.     for($a=0;$a<=$arrLc;$a++){
  19.         if($arrL[$a] == $rValue){
  20.             break;
  21.         }elseif($a == $arrLc){
  22.             $arrL[] = $rValue;
  23.         }
  24.     }
  25.    
  26. } //Bucle para comprobar que no tome los mismos valores puede eliminarse
  27. //---------------------------------------------------------------------------------------------
  28. //Mostrar los Valores Pares Aleatorios que no se repiten
  29. foreach($arrL as $value){
  30.     echo $value.' - '; 
  31. }
  32. ?>

Bueno lo que hace esta código a niveles generales es:
1) Del Intervalo que estableces como vos dijiste EJ: 1-2000 obtiene los numeros PARES y los coloca en un array "$arrP"

2) a)Toma un valor aleatorio de entre 0 y el numero maximo de elementos que contiene "$arrP"

2) b) Analiza si el valor tomado de "$arrP" esta contenido en "$arrL" si esta no hace nada y si no esta lo agrega a "$arrL"

3) Te muestra el array "$arrL" con los valores pares que no se repiten obtenidos

NOTA: Hay un bucle FOR que lo agregue para comprobar que no tome valores repetidos, podes eliminarlo o no, como vos lo necesites

Contarme si te sirve :)

Saludos!