ASesoria ¿? [quiero que me arroje 3 numeros aleatorios pero...]

Iniciado por ~V, 12 Junio 2010, 08:30 AM

0 Miembros y 1 Visitante están viendo este tema.

~V

Holas,


Bueno Necesito que me entrege 3 digitos, con orden ascendiente y que no se repitan.

por ejemplo

1 - 4 - 7

No -->  1 - 4 -1


No se repiten los dijitos y van en orden de menor a mayor aleatoriamente...

para ello tengo el siguiente

<?

//alimentamos el generador de aleatorios

srand (time());
//generamos un número aleatorio
$numero_aleatorio1 rand(1,7);
$numero_aleatorio2 rand(2,8);
$numero_aleatorio3 rand(3,9);


if ( 
$numero_aleatorio1 $numero_aleatorio2 )
{

 if (
$numero_aleatorio2 $numero_aleatorio3)
 {
printf ($numero_aleatorio1  --- $numero_aleatorio2 --- $numero_aleatorio3");
}
}

?>

Bien,  Asi evito que se repitan los numeros...

pero Necesito qué si no se cumple vuelva a intentar y no me a corrido la function...

no se emplearla quizas, pero probe y nada. sigue igual.


probe con un while

cambiando
if ( $numero_aleatorio1 $numero_aleatorio2 )

por

while ( $numero_aleatorio1 $numero_aleatorio2 )


pero el servidor se me cuelga y me manda error que supero los 30 segundos ...


Alguien me puede orientar  o decirme como hacerlo : )

jdc

no se deberia poder si de verdad es rand, por ejemplo:

$a = rand(1,7);
$b = rand(2,8);
$c = rand(3,9);

si $a fuera igual a 7 $b solo podria ser 8 y por lo tanto $c solo 9 asi que no tendria sentido, lo que se me ocurre es que saques 3 numeros al azar ($a, $b y $c) y luego los ordenes de mayor a menor o biseversa.

Saludos