Título: ASesoria ¿? [quiero que me arroje 3 numeros aleatorios pero...] Publicado por: ~V en 12 Junio 2010, 08:30 am 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 : ) Título: Re: ASesoria ¿? [quiero que me arroje 3 numeros aleatorios pero...] Publicado por: jdc en 12 Junio 2010, 09:05 am 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 |