Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Duda] La variable no deberia de ser99 en vez de 100?

Al declarar la variable let numeroMaximoPosible = 100 pero despues al utilizar let numeroSecreto = Math.floor(Math.random()*numeroMaximoPosible)+1; esto significa que inclusive podria contemplar el numero 101, o me equivoco? en cambio al hacerlo de la siguiente manera let numeroMaximoPosible = 99 nos garantizamos de que el numero maximo posible sea 100

me podría indicar si mi lógica esta mal

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

3 respuestas
solución!

La adición de +1 al final de la expresión asegura que el resultado final esté en el rango deseado. Sin el +1, el rango de números generados estaría en [0, 100] debido al redondeo hacia abajo realizado por Math.floor. Al agregar +1, se desplaza el rango hacia arriba, de modo que el resultado final esté en el rango [1, 100]. Lo que se quiere en el código es evitar que se muestre el 0.

Entiendo, muchas gracias!!!

lo que entiendo hasta llegar aca.. con ejemplos..

si tenes..

let numeroAleatorio = Math.random(); --> esto te da un numero aleatorio entre cero (incluido) y 1 (no incluido): osea cualquier numero debajo de 1 hasta cero incluido, por ejemplo 0.999999.. ó 0.111111.. ó 0.33333.. como ejemplos

Si haces..

let numeroAleatorio = Math.random() * 10; --> esto te da un numero aleatorio entre cero (incluido) y 10 (no incluido): osea cualquier numero debajo de 10 hasta cero incluido, por ejemplo 0.00000.. ó 5.7829111.. ó 9.9999999.. como ejemplos

Luego si les aplicas el método .floor() --> les quita la parte decimal y se queda con la parte entera, por lo que te quedarian como numeros posibles: 0-1-2-3-4-5-6-7-8-9

Luego al sumarles 1 pasan a correrse una unidad hacia adelante.. por lo que te quedarian los numeros: 1-2-3-4-5-6-7-8-9-10

let numeroAleatorio = Math.floor(Math.random() * 10)+1;

let numeroAleatorio = Math.random() * 3; --> esto te da un numero aleatorio entre cero (incluido) y 3 (no incluido): osea cualquier numero debajo de 3 hasta cero incluido, por ejemplo 0.00000.. ó 1.7829111.. ó 2.9999999.. como ejemplos

Luego si les aplicas el método .floor() --> les quita la parte decimal y se queda con la parte entera, por lo que te quedarian como numeros posibles: 0-1-2

Luego al sumarles 1 pasan a correrse una unidad hacia adelante.. por lo que te quedarian los numeros: 1-2-3

Sin el +1, el rango de números generados estaría en (notacion de intervalos) [0, 100).