Hola a tod@s !!
hay alguna forma de controlar el porcentaje de que salga un número "aleatorio".
De decir, del rango del 0 al 100, quiere tener un 1% de que salga un número mayor de 50.
¿Existe alguna forma de hacer eso?
| ||||
Respuesta: Controlar porcentaje de random Creo que la función random() no permite dicho comportamiento, ¿por qué no revisas el manual para estar seguro?
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: Controlar porcentaje de random Creo que no. Pero puedes utilizar la función random y la lógica para conseguir el mismo resultado: -Saca un número del 1 al 100 con la función random -Si sacas un 1, entonces saca un número del 50 al 100. -Si sacas cualquier otro número que no sea el uno, entonces saca un número del 1 al 50. Con eso tienes una posibilidad entre 100 de sacar un número mayor de 50 ¿no? Un saludo |
| ||||
Respuesta: Controlar porcentaje de random La funcion random() segun he visto no puedo controlar el porcentaje. Lo que dice "javierflti", no lo llego a comprender. ¿Algun codigo en PHP así rápido para ir metiendonos en materia y que vayamos experimentando? |
| ||||
Respuesta: Controlar porcentaje de random La función rand() admite dos argumentos, el mínimo y el máximo. Cita: Ahora, el porcentaje tampoco lo puedes controlar pero al menos puedes tener rangos: ¿Algun codigo en PHP así rápido para ir metiendonos en materia y que vayamos experimentando?
Código PHP:
Ver original Suponiendo que tienes una lista completa de los rangos por porcentaje, sólo resta obtener dicho "porcentaje" inicial:
Código PHP:
Ver original ¿Se entiende la idea?
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| ||||
Respuesta: Controlar porcentaje de random Te referirás a esto: Código PHP: |
| |||
Respuesta: Controlar porcentaje de random No probe la solucion!!!, pero quizas la idea te sirva. //Podrias utilizar esto, pero para que funcione debes saber antes cuantos nros vas a generar: $can=100; //cantidad de nros a generar $min=1; $max=100; $mat=array(0,0); for ( $i=0; $i<$can; $i++ ) { $ale=rand($min,$max); // evaluamos valor obtenido e incrementamos la cantidad para valores bajos, o altos if ( $ale>50 ) { $mat[0]++; //cantidad de numeros bajos } else { $mat[1]++; //cantidad de numeros altos } // si se genero el 1% de los numeros altos, limitas el maximo obligando a generar nros bajos if ($mat[1]*100/$can>1) { //calculamos porcentaje de nros altos $min=1; $max=50; } } |
| ||||
Respuesta: Controlar porcentaje de random Faltaría mostrar en numero: Código PHP: Teniendo el 1% debería salir al menos 1 vez, un numero mayor que 50. ¿No es así? Para alterar ese 1% y aumentarlo al 5% ¿como seria? Código PHP: |
| |||
Respuesta: Controlar porcentaje de random Exactamente el control del porcentaje es aqui $porcentaje=$mat[1]*100/$can de modo que if ( $mat[1]*100/$can > 5) { ... } Fue un error mio por no probar, simplemente deberias incluir el 50 // evaluamos valor obtenido e incrementamos la cantidad para valores bajos, o altos if ( $ale>=50 ) { $mat[0]++; //cantidad de numeros altos } else { $mat[1]++; //cantidad de numeros bajos } o podrias simplificar las cosas generar primero el 1% de los numeros controlando $min y max en un bucle y luego el resto en otro bucle. |
Etiquetas: |