Si tienes 2 huevos y quieres averiguar cuál es el piso más alto desde el que puedes soltar el huevo sin romperlo, ¿cómo lo resolverías?

Lo importante para entender aquí es:

  1. Solo hay una estrategia óptima para cualquier configuración de pisos y huevos.
  2. El número de posibilidades de una gota de huevo es pequeño.
  3. Después de que se ha caído un huevo, no tenemos más remedio que aplicar la misma estrategia para los pisos y huevos restantes.

Puedes idear una estrategia simplemente mirando las posibilidades de dejar caer un huevo. Intentemos lanzar desde el piso X.

  1. Si el huevo se rompe, tenemos que revisar los pisos del 1 al X con un huevo menor que el que teníamos ahora.
  2. De lo contrario, el piso debe existir entre TOP y X. Y no hemos perdido ningún huevo.

Así que ahora construimos la función para decirnos cuántas gotas tenemos que hacer para N pisos y K huevos:
[matemáticas] F (N, E) \ = \ MIN (MAX (F (X, E − 1), F (N − X, E)), \ X \ -> \ 1 \ to \ N) [/ matemáticas ]

Las condiciones básicas son:
[matemáticas] F (1, E) \ = \ E \ y \ F (N, 1) \ = \ N [/ matemáticas]

La función anterior explica con precisión cuál debería ser nuestra estrategia. Para cada piso entre 1 y N, encuentre el peor de los casos más pequeños. El peor de los casos se encuentra entre las dos posibilidades que discutimos anteriormente.

He hecho un video tutorial sobre este problema aquí:

¡Salud!

Bueno, supongo que olvidó mencionar que esto debe hacerse en un número mínimo de intentos. De lo contrario, sería muy fácil, ya que solo tiene que soltar el huevo de cada piso, comenzando desde el primero y luego soltando otro desde los pisos más altos. Además, la cantidad de pisos es importante. Si solo hay 3 pisos, no hay mucha necesidad de optimización, pero si hay muchos pisos, digamos 100, seguramente tendremos que encontrar la mejor manera de lograr esto.

Es una pregunta bastante famosa que has hecho aquí. Una vez encontré esta pregunta en http://datagenetics.com/blog.html pero querían la respuesta con un número mínimo de ensayos y para 100 pisos. Ahora, no debe continuar con la estrategia anterior porque creo que es la estrategia más obvia y más básica y no proporcionará la respuesta para el número mínimo de ensayos.

Para ensayos mínimos, intente una estrategia similar pero ligeramente diferente. Deje caer el piso del huevo sabiamente, pero si no tiene éxito, omita los pisos intermedios y luego deje caer el huevo del piso ‘n + 1’. Genial, ¿no es así? Continúe esto mientras el huevo permanezca intacto. Ahora, una vez que el huevo se rompe, sabemos que el huevo no se rompió n pisos atrás. Esto significa que tendremos que romper en cualquiera de los pisos intermedios. Por ejemplo, comencemos desde 1 y salteamos 5 pisos. Luego intentaremos romper el huevo en el piso número 1,6,11,16 y así sucesivamente. Supongamos que el huevo se rompe en el piso número 46. Ahora, sabemos que el huevo no se rompió en el piso número 41 pero sí en el piso número 46. Esto significa que debe romperse en cualquiera de los pisos intermedios 42,43, 44 y 45 o en el piso número 46, lo que significa que tendremos que ir a otros 4 ensayos. Esto fue solo un ejemplo.

Intenta seguir esta estrategia para llegar a la respuesta. Todo lo que tienes que hacer es encontrar ‘n’ (lo cual no es fácil, debo decirte eso). Para la pregunta original, lea el blog de datagenetics.

Lógica de fuerza bruta:

Comience desde la planta baja y siga subiendo hasta que el huevo se rompa en el piso X.

La solución es muy ineficiente , en caso de que el huevo no se rompa hasta el piso 99.
Recuerde, debe minimizar la cantidad de gotas en el peor de los casos.

Solución improvisada:

Comience desde el piso 10 y suba a pisos en múltiplos de 10

  • Si se rompe el primer huevo, digamos en el piso 20. luego puede revisar todos los pisos entre el 11 y el 19 con el segundo huevo para ver qué piso no se romperá.

En este caso, el número de caídas en el peor de los casos es 19. Si el umbral era el piso 99, entonces tendría que soltar el primer huevo 10 veces y el segundo huevo 9 veces de manera lineal.

Mejor solución:

Necesitamos minimizar este número de caídas en el peor de los casos. Para eso, necesitamos generalizar el problema para tener n pisos. ¿Cuál sería el valor del paso para el primer huevo? ¿Sería todavía 10? Supongamos que tenemos 200 pisos. ¿El valor del paso seguiría siendo 10?

El punto a tener en cuenta aquí es que estamos tratando de minimizar el número de caídas en el peor de los casos que ocurre si el umbral está en los pisos más altos. Por lo tanto, nuestros pasos deben tener algún valor que reduzca el número de gotas del primer huevo.

Supongamos que tomamos algún valor de paso m inicialmente. Si cada paso posterior es m-1,
luego,
m + m − 1 + m − 2 +… .. + 1 = n [matemática] m + m − 1 + m − 2 +… .. + 1 = n [/ matemática]

Esto es m ∗ (m + 1) 2 = n [matemáticas] m ∗ (m + 1) 2 = n [/ matemáticas]

Si n = 100, entonces m sería \ ceil13.65 [matemática] \ ceil13.65 [/ matemática] que en realidad es 14.

Por lo tanto, el peor de los casos es ahora cuando el umbral está en los primeros 14 pisos con un número de gotas de 14.

Aquí comenzamos con un algoritmo muy familiar para los programadores. Es un algoritmo de búsqueda binaria simple en el que seguimos reduciendo a la mitad la lista hasta obtener el resultado deseado.
Ahora las posibilidades de romper el huevo aumentan a medida que uno se mueve hacia arriba.
Supongamos que el edificio tiene 100 pisos de altura.
Entonces llegamos al piso 50 y dejamos caer el huevo.
Independientemente del resultado, ahora tenemos la mitad del número de casos con los que lidiar.
Aquí están las dos situaciones:
1) huevos rotos. Así que ahora vamos a la planta baja e intentamos dejar caer el segundo huevo ascendiendo un piso a la vez. El primer piso donde se rompe el huevo da su respuesta.
2) el huevo no se rompe. Haga lo mismo que el # 1, pero comience en el piso # 51.
Este algoritmo es la forma más rápida de obtener la respuesta correcta.
🙂

Creo que la verdadera pregunta sería, si tienes dos bolas hechas de alguna sustancia, y quieres averiguar cuál es el piso más alto desde el que puedes dejar caer una bola sin romperla, ¿cómo lo harías?

No tenemos muchas bolas para probar combinaciones infinitas, por lo que debemos encontrar una manera de encontrarlas usando solo dos bolas.

Mi suposición es utilizar un enfoque de abajo hacia arriba.

Primero toma una pelota y déjala caer desde el primer piso. Si se rompe, podemos concluir que la pelota es demasiado frágil para dejarla caer desde esa altura.

Si no se rompe, podemos continuar con la misma bola hasta el segundo, tercero, cuarto y así sucesivamente y ver desde qué piso cuando se cae la bola se romperá.

Ahora, para mayor aclaración, tome la segunda bola y vaya un piso más abajo (verifique la posibilidad de que la primera bola se haya vuelto frágil al caerse demasiadas veces) y déjela caer. Si no se rompe, entonces ese es el piso más alto desde el cual podemos dejar caer la pelota sin romperla.

Enfoque ingenuo: puede ir a cada piso a partir del primero y soltarlo.

Si desea averiguar cómo puede hacer esto con el menor número de gotas , puede hacerlo en un máximo de 14 gotas . Esto es matemática simple.

Habrá dos series correspondientes a 2 huevos con el segundo definitivamente un AP con 1 como la diferencia común. (ya que este es su último huevo, debe revisar cada piso). Pero puedes usar tu primer huevo para tener una idea aproximada. Ahora, a medida que aumenta el número de gotas para el primer huevo, lo mismo para el segundo huevo debería disminuir para mantener el número total de gotas al mínimo.

El número de gotas para el segundo huevo es la diferencia común en la serie formada en términos de pisos experimentados con el primer huevo. Resolviendo que obtendrías una serie

14, 27 (14 + 13), 39 (14 + 13 + 12),….

así que estos son los pisos que necesitas para dejar caer tu primer huevo. Suponga que el huevo se rompe en la segunda caída, es decir, el piso 27, debe verificar los pisos 15 a 26 (12 pisos) con el segundo huevo. Entonces eso hace un máximo de 14 gotas. Puede verificar que para cualquier respuesta, no necesita más de 14 gotas si va de esta manera.

Comienza a dejar caer el huevo desde el piso más bajo y gradualmente comienza a moverte hacia un piso más alto.

Obviamente, puede reutilizar un huevo si no está roto (tenga en cuenta que no se menciona en la pregunta que no podemos reutilizar)

El piso no. donde el huevo frena al caer es la respuesta.

Tenga en cuenta que todo este proceso puede llevarse a cabo con un solo huevo, ya que está reutilizando el mismo huevo.

Editar: El piso, justo debajo del piso desde donde se rompe el huevo al caer, es la respuesta.

Algunos supuestos para comenzar:

  1. los dos huevos son idénticos
  2. Hay un recipiente especial que puede contener un huevo y puede proporcionar una protección considerable al huevo, pero aún no sabemos su capacidad.
  3. Si el caparazón no se ha roto, su fuerza está intacta.

Pon un huevo en el recipiente especial y déjalo caer desde el primer piso. Si el huevo se rompe, prepare la tortilla con el segundo huevo.

Si ha sobrevivido sin grietas, continúe con el segundo piso y más hasta que encuentre el piso más alto.

¿Existe alguna restricción como si un huevo se pudiera usar solo una vez, incluso si no se rompe? Si no un huevo es suficiente para encontrar la respuesta.
O
Puedo dejar caer un huevo sin romperlo de ningún piso, pero no estoy seguro de la condición del huevo después de que golpea el piso.
O
puede usar el método de clasificación binaria si se conoce el número de pisos.
Creo firmemente que la pregunta carece de información, puede ser que esté equivocado.

(No creo que un huevo sobreviva a una caída de más de un metro sobre un piso de concreto, pero, solo por experimentar)

Así que aquí están los pasos que debe seguir:

  1. Localiza un edificio alto.
  2. Deje caer el huevo desde el primer piso (asegúrese de que nadie salga del edificio cuando lo deje caer). Si el huevo se rompe, tienes tu respuesta, si no, recoge ese huevo y pasa al siguiente piso.
  3. Siga el paso dos hasta que su huevo se rompa y obtenga la respuesta.

PD: Justo esta mañana, dejé caer un huevo del mostrador de la cocina y se creó un gran desastre. Entonces, no creo que necesites un rascacielos para tu experimento.

Además, sobre el segundo huevo. Bueno, las tortillas saben muy bien.

Esa es una pregunta bastante simple.

Primero vas al primer piso y lo dejas caer desde allí. Si se rompe, ya está. Si no es así, baja y recógelo. Luego ve al segundo piso y repite lo mismo. Este método nos ayudará a determinar el piso requerido con un huevo.

Además, después de subir y bajar tantas escaleras, se sentirá cansado, así que simplemente fríe o hierva el otro huevo y cómelo (si no es vegetariano).

Ok, es simple, suelte los huevos del número máximo de pisos que puede alcanzar, o el edificio que puede obtener, con solo 1 condición, no lo deje caer sobre ninguna superficie dura. Atrápalo de antemano. \ U0001f601 \ U0001f601

Conocer el piso más alto en el que se puede dejar caer el huevo sin romperlo. La iteración debe comenzar desde el piso más bajo soltando el huevo. El piso que se rompió es el primer piso en el que se romperá el huevo y el piso anterior se convierte en el piso más alto en el que se puede soltar el huevo sin romperlo y solo necesita UN huevo para encontrarlo.

Bueno, la forma más fácil sería encontrar qué tan alto necesitarías dejar caer un huevo para generar entre 53 y 90 PSI en su superficie (dependiendo de qué lado aterrice). Esto, por supuesto, depende de en qué aterrice el huevo.

¿Cuánta fuerza se necesita para romper un huevo?

La forma más fácil sería tratarlo como un conjunto resuelto. Ya hemos experimentado para ver cuánta fuerza se genera cuando un cierto peso se cae sobre una superficie firme, así que simplemente tome el trabajo de otras personas y úselo (dando la cita adecuada, por supuesto). Por supuesto, siempre puedes probar para ver si es preciso, pero si tuvieras una cantidad tan pequeña de huevos, esta sería la forma más fácil.

Creo que la pregunta está completa, se debe agregar el “mínimo intento de intento”.

Entonces necesitas dos egs para encontrar la solución.

En este caso lo que tiene que hacer, seleccione cada tercer piso en orden ascendente y suelte el huevo si se rompe, baje y suelte el siguiente huevo si nuevamente rompe el piso de abajo a este piso es la respuesta, de lo contrario, el piso presente es la respuesta

Nota.

Si “sin romperlo” es la pista, puede caerse de cualquier piso sin romperse. ¿Por qué lo rompes?

No te preocupes. Los pisos son difíciles de romper.

No puede romper el piso, no importa desde qué altura finita deje caer dos huevos.

Puedes ir desde el primer piso hasta la cima. Pero si quieres que se haga en el menor número de intentos, entonces ese no sería el método. Por ejemplo, si hay 100 pisos, puede tomar hasta 100 intentos, pero si cae en un intervalo, digamos 5 pisos, puede hacerlo en 24 intentos y si lo deja en un intervalo de 10, puede encontrar el más alto piso en 19 intentos. Y puede optimizar para obtener su respuesta final. Y cuando se rompen los huevos, digamos en el piso 50 después de caer con éxito desde el piso 40, puede comenzar con su segundo huevo desde el piso 41 hasta el 50, uno por uno.

Estoy de acuerdo con Gourav también. Sin embargo, si conoce el número de pisos, existe algún tipo de método de clasificación binaria que una vez estudié en un curso electivo. Sin embargo, el método de Gourav llevaría más tiempo, sería más simple.

La respuesta es bastante simple, puede tomar el piso más alto posible, no importa.

¿Porque preguntas?

Porque no importa cuánto lo intentes, los pisos de concreto son muy difíciles de romper. ¡Los huevos nunca lo romperán! ^ _ ^

Creo que el objetivo se puede cumplir con un solo huevo.
Comience desde el 1er piso. Suelta el huevo del primer piso. Si el huevo sobrevive, vaya al segundo piso y suelte el huevo pobre del segundo piso. Continúa esto hasta que nuestro pequeño huevo se rompa. Voila! Acabas de encontrar la cantidad de pisos.