Duda Minijuego java

Hola, necesito algo de ayuda con esto.... No puedo usar ni bucles ni arrays.


Considérese el juego siguiente: un jugador (jug. A) elige un número entre 1 y 8. Otro jugador (jug. B) puede hacer cuatro preguntas de la forma: ¿es “7” el número?, a lo que el primer jugador (jug. A) responderá diciendo: igual, mayor, menor, según el número propuesto sea igual menor o mayor que el elegido.


¿Alguna sugerencia? Tened en cuenta que solo se puede preguntar 4 veces, gracias de antemano.
Grender escribió:Hola, necesito algo de ayuda con esto.... No puedo usar ni bucles ni arrays.


Considérese el juego siguiente: un jugador (jug. A) elige un número entre 1 y 8. Otro jugador (jug. B) puede hacer cuatro preguntas de la forma: ¿es “7” el número?, a lo que el primer jugador (jug. A) responderá diciendo: igual, mayor, menor, según el número propuesto sea igual menor o mayor que el elegido.


¿Alguna sugerencia? Tened en cuenta que solo se puede preguntar 4 veces, gracias de antemano.

El control de veces preguntadas un int, pero no utilizar bucles no tiene mucho sentido ahí.

Supongo que querrán que utilices una variable y hagas simplemente pregunta, invocación, pregunta, invocación... Pero ya son ganas de meter líneas de más.
sino, recursividad
Busca información acerca de la "búsqueda dicotómica".

Como el intervalo es muy pequeño, con unos simples condicionales anidados te apañas bien. Con cuatro preguntas averiguas el número seguro.

Y si lo quieres para nota, una función recursiva.

Un saludo.
Deschamps escribió:Busca información acerca de la "búsqueda dicotómica".

Como el intervalo es muy pequeño, con unos simples condicionales anidados te apañas bien. Con cuatro preguntas averiguas el número seguro.

Y si lo quieres para nota, una función recursiva.

Un saludo.

Parece ser que tenemos que usar condicionales anidados, pero me estoy armando un lio impresionante
Grender escribió:
Deschamps escribió:Busca información acerca de la "búsqueda dicotómica".

Como el intervalo es muy pequeño, con unos simples condicionales anidados te apañas bien. Con cuatro preguntas averiguas el número seguro.

Y si lo quieres para nota, una función recursiva.

Un saludo.

Parece ser que tenemos que usar condicionales anidados, pero me estoy armando un lio impresionante


¿Qué es lo que llevas hecho?

Para que te ayude a plantearlo: piensa que la búsqueda dicotómica a grandes rasgos, lo que consigue es reducir el problema a otro idéntico pero con la mitad de "tamaño". En este caso, tu objetivo inicial sería el elemento de "en medio". Si aciertas, perfecto. Si no, la solución será mayor o menor. En consecuencia, tu siguiente objetivo será el elemento en el centro del nuevo intervalo (que es la mitad de grande que el anterior)... y repites el proceso. Así, en algún momento das con el elemento correcto, ya que tarde o temprano reduces el problema (en el peor de los casos) a un intervalo con un solo elemento.
4 respuestas