Tienes 2 huevos. Estás en un edificio de 100 pisos. Dejas caer el huevo de un piso en particular. Se rompe o sobrevive. Si sobrevive, puede lanzar el mismo huevo desde un piso más alto. ¿Cuántos intentos necesitas para identificar el piso máximo en el que el huevo no se rompe cuando se tira?

Aquí hay una solución generalizada para cualquier no. de huevos:

Considere N (e, t) para representar el máximo no. de pisos para los que puede resolver, con ‘e’ huevos y ‘t’ intentos.

Observa la imagen.
Aquí, he asumido que [matemáticas] N (e, t) = F [/ matemáticas], es decir, con ‘e’ huevos y ‘t’ intentos, podemos resolver para max. Pisos ‘F’.

Suponga que la primera caída optimizada es del piso X.

* Si el huevo se rompe -> la respuesta es uno de los pisos (X-1) a continuación. Además, ahora nos queda un huevo menos y un intento menos.
Entonces, para la solución optimizada, los pisos (X-1) deben ser lo máximo posible, utilizando (e-1) huevos y (t-1) intentos.
===> [matemáticas] N (e-1, t-1) = X-1 [/ matemáticas] ……………. (1)

* Si el huevo no se rompe -> la respuesta es uno de los pisos (FX) de arriba. Además, ahora nos queda un intento menos, pero el mismo no. de huevos
Entonces, para la solución optimizada, los pisos (FX) deben ser lo máximo posible, usando huevos ‘e’ y intentos (t-1).
===> [matemáticas] N (e, t-1) = (FX) [/ matemáticas] ……………………… (2)

Agregando la ecuación (1) y (2):
[matemáticas] N (e-1, t-1) + N (e, t-1) = (X-1) + (FX) = F-1 = N (e, t) – 1 [/ matemáticas]

==> [matemáticas] N (e, t) = 1 + N (e-1, t-1) + N (e, t-1) [/ matemáticas]

Esta es la fórmula recursiva para resolver el problema generalizado …

… sujeto a la siguiente ecuación de límite:
* [matemáticas] N (1, t) = t [/ matemáticas], porque si solo tenemos 1 huevo, tenemos que pasar por todos los pisos (desde el primero; hacia arriba) para asegurarnos de obtener la respuesta. Y con los intentos ‘t’, podemos, por lo tanto, solo resolver los pisos ‘t’.

—————————————————————————-

Ahora, a la pregunta:
Tenemos 2 huevos
Con intentos ‘t’, el máximo de pisos solucionables es N (2, t)
=> N (2, t) = 1 + N (1, t-1) + N (2, t-1) [usando la fórmula recursiva que obtuvimos anteriormente]

Simplificando aún más N (2, t-1) como [1 + N (1, t-1) + N (2, t-2)], y repitiendo el mismo proceso para N (2, t-2), etc. obtener:

N (2, t) = 1 + 1 + 1 +… (t veces) + N (1, t-1) + N (1, t-2) +…. N (1, 1)
= 1 + 1 + 1 +… (t veces) + (t-1) + (t-2) +… ..1
= [matemáticas] t + \ frac {t (t-1)} {2} = \ frac {t ^ 2 + t} {2} [/ matemáticas]

Entonces, con 2 huevos y 13 intentos, podemos resolver por un máximo. de [matemáticas] \ frac {13 ^ 2 + 13} {2} = 91 [/ matemáticas] pisos

Y con 2 huevos y 14 intentos, podemos resolver por un máximo. de [matemáticas] \ frac {14 ^ 2 + 14} {2} = 105 [/ matemáticas] pisos

Entonces, para el problema de los 100 pisos, necesitamos al menos 14 intentos para garantizar una solución

Esto ya está en la lista de “preguntas prohibidas”, así que supongo que es un juego justo.

Para preguntas de este tipo, trato de determinar si el candidato (a) no ha visto este problema antes, (b) puede resolver algún enfoque de razonamiento y (c) me lo puede explicar, algo como lo siguiente. Seguiría las ideas del candidato a donde sea que lo lleven, y trataría de descubrir su capacidad para organizar hechos, seguir su propia lógica, abstenerse de BS y tal vez extraer conceptos o fórmulas importantes de la memoria como herramientas. Idealmente, también aprenderé de un candidato una forma nueva o diferente de ver el problema. Si el candidato obtiene “la respuesta correcta” o no es secundario a estas observaciones.

Lo primero es ver cuánto tiempo le lleva al candidato reconocer que la búsqueda binaria no funcionaría. Un enfoque básico de búsqueda binaria esencialmente requiere que tenga todos los huevos que necesite romper (log 2 n), ciertamente más de 2.

La siguiente idea clave, que está relacionada, es darse cuenta de que debe tratar el segundo huevo es muy diferente del primero. Si bien puedes “saltar” con el primer huevo, solo puedes mover 1 piso a la vez con el segundo. Por ejemplo, si sueltas el primer huevo del piso 10 y se rompe, tu próximo movimiento con el segundo huevo debe ser los pisos 1, luego 2, luego 3, etc., para saber con seguridad qué piso debajo de 10 es el piso más alto que no rompe huevos.

Ahora, si dejo caer el primer huevo en el piso N, me enfrento a dos escenarios:

  1. Se rompe: según la lógica del párrafo anterior, el segundo huevo se soltará de los pisos 1, 2, …, N-1. Entonces, para este escenario, el número de caídas en el peor de los casos es N.
  2. No se rompe: ahora me enfrento a un problema recursivo: minimizar el número de gotas con 2 huevos en un edificio con, efectivamente, pisos de 100 N.

La siguiente idea útil es darse cuenta de que el número del peor de los casos para ambos escenarios debe diseñarse con el mismo valor N, simplemente porque el número del peor de los casos para la solución general es el mayor de los dos. Si no son lo mismo, entonces habré optimizado uno a expensas del otro, y en general obtendré un resultado peor.

Entonces, para el escenario # 2 anterior, para mi próxima caída (con el primer huevo), omitiré los pisos N-1. Esto se debe a que ya he usado 1 gota, y si la segunda gota termina rompiendo el huevo, mi peor de los casos incluirá otras gotas N-2, para un total de (1 + 1 + N-2) = N gotas.

Recurrente, mis pisos de caída serán algo como esto: N, (N + N-1), (N + N-1 + N-2), … Y quiero minimizar N.

En este punto, es bastante fácil (y de hecho preferible) que el candidato simplemente pruebe diferentes valores de N, ya que debería tener algunas conjeturas de “sentido común” sobre lo que N debería ser aproximadamente. Si comienzan en el rango de 10-20, convergerán rápidamente al mínimo en:

{14, 14 + 13, 14 + 13 + 12, 14 + 13 + 12 + 11, …} o

{14, 27, 39, 50, 60, 69, 77, 84, 90, 95, 99, 96, 97, 98} como la peor de las secuencias, con 14 gotas, que es el mínimo.

Si comienzan bien fuera del rango de 10-20, y no reconocen el gran desequilibrio en cuestión de segundos, sería una mala señal.

Supongamos que comenzamos en el enésimo piso

Si el primer huevo se rompe en el primer intento, dado que solo nos queda un huevo más, tendremos que intentarlo secuencialmente de 1 a n.
Entonces, el peor número de intentos será n

Si el primer huevo no se rompe en el piso n, la pregunta es qué piso intentamos a continuación.
Digamos que subimos (nx) pisos e intentamos en n + (nx) th piso. Entonces, el número de intentos en el peor de los casos será 1 + (nx).

Como estamos tratando de minimizar el número de intentos en el peor de los casos, deberíamos buscar una solución uniforme que sea el número de intentos.
Los intentos deben ser los mismos con cada paso.

n = (nx) + 1 => x = 1

Esto significa que si el primer huevo no se rompe en el piso n, debemos intentarlo en el piso (n + n-1). Del mismo modo, si el primer huevo no se rompe
en (n + n-1), tenemos que intentar en el piso (n + (n-1) + (n-2)) y así sucesivamente hasta llegar a 100 el piso

Entonces ahora tenemos esta ecuación

n + (n-1) + (n-2) +… 1> = 100

=> n (n + 1) / 2> = 100

=> n> = 14

Por lo tanto, debemos probar en los pisos 14, (14 + 13), (14 + 13 + 12), … hasta llegar a 100

Si el primer huevo se rompe a los 14, intentamos de 1 a 13 secuencialmente con el segundo huevo; el peor de los casos será 14 si el huevo se rompe en el piso 13.
Si el primer huevo no se rompe a los 14, intente a los 27, si se rompe, intente secuencialmente de 15 a 26 con el segundo huevo; el peor número de intentos es nuevamente 14 si el huevo se rompe en el piso 26.

Ugh, los candidatos a la entrevista nunca entienden esto correctamente. En realidad es bastante difícil, ya que la mayoría de las personas comienzan por el camino equivocado. Primero, todos asumen la búsqueda binaria, lo cual está mal. Entonces todos intentan minimizar la ecuación

(100 / n – 1) + (n – 1)

El primer término indica el número máximo de gotas para el primer huevo, mientras que el segundo término indica el número máximo de gotas para el segundo huevo. La respuesta obvia para n es 10, lo que le da un máximo de 18. Esto está mal.

En cambio, lo que debemos optimizar es tener siempre la misma cantidad máxima de gotas, independientemente del resultado. Cada vez que el huevo no se rompa, deberíamos tener n-1 gotas restantes; y si el huevo se rompe, deberíamos tener n-1 gotas restantes. Esto nos obliga a incrementar nuestro piso siempre uno menos cada vez que el primer huevo no se rompe. Si comenzáramos en el piso 10, tendríamos que pasar al piso 19, luego al 28, y así sucesivamente. Por lo tanto, los pisos sobre los que deberíamos dejar caer el primer huevo (suponiendo que no haya roturas) son:

norte
n + n – 1
n + n – 1 + n – 2
n + n – 1 + n – 2 + n – 3

Lo cual, después de n iteraciones, debe estar por encima de 100. Para simplificar, esto básicamente significa que debemos encontrar el valor mínimo para n tal que SUM (1..n)> = 100.

n (n + 1) / 2> 100 implica n> 13. Por lo tanto, n = 14, tanto nuestro piso de inicio como el número de iteraciones requeridas para calcular la fuerza de los huevos.

La respuesta más simple a esta pregunta será:

Asumamos que existe una solución óptima para esto. Por solución óptima, me refiero a los intentos mínimos para identificar el piso máximo en el que el huevo no se rompe cuando se tira. Deje que la solución óptima sea N.

Necesito tirar el huevo desde el piso N para que N sea el no. de intentos de identificar el piso en el peor de los casos.

Dejame explicar,

Paso 1: cuando se tira desde el piso Nth, hay dos posibilidades:

El huevo se rompe o no.

Si el huevo se rompe, solo me queda un huevo. Entonces, para determinar el piso del umbral después del cual se rompe el huevo, tengo que comenzar a tirar el huevo desde el primer piso hasta el piso desde donde se rompe.

Entonces, en el peor de los casos, intentos totales = lanzamiento desde el piso N (1) + número de lanzamientos hasta el piso N-1 (N-1) = N.

Paso 2: si el huevo no se rompe, tendré que tirarlo nuevamente desde el piso N + (N-1), ya que la solución óptima es N

Porque, en el peor de los casos (si el huevo se rompe en el piso 2N-1 y tengo que comenzar a tirar el huevo desde el piso N + 1 hasta el piso 2N-2 desde donde se rompe) –

No. de lanzamientos = Lanzamiento desde el piso N (1) + Lanzamiento desde el piso N-1 (1) + lanzamiento desde el piso N + 1 hasta el piso 2N-2 (N-2) = N

Paso 3: Si el huevo no se rompe en el piso N + (N-1), entonces tengo que moverme al piso N + (N-1) + (N-2) y así sucesivamente …

Finalmente, agregar todos los incrementos en el piso en cada paso, debe ser igual a no. de pisos.

es decir

N + (N-1) + (N-2) + (N-3) +… .. + 1 = 100

=> N * (N + 1) / 2 = 100

=> N = 13.XX

Entonces N = 14.

Por lo tanto, comienzo desde el piso 14, luego me muevo al piso 27, luego al piso 39 y así sucesivamente.

La solución óptima será de 14 intentos.

Por solución óptima, supongo que desea minimizar el número de pruebas de gotas de huevo.
Dado que tenemos que encontrar la respuesta con 2 huevos, ¿por qué no hacer algo como esto? Comenzamos dejando caer uno de los huevos en el piso 10: si no se rompe, continuamos hasta el piso 20, luego 30, 40 … Hasta 100 en intervalos de 10 hasta que el primer huevo realmente se rompa. Si el huevo se rompe en el piso 10, entonces sabemos que el piso del umbral debe ser el piso 10 o uno de los pisos debajo de él; el huevo definitivamente se romperá en cualquier piso sobre el piso 10, por lo que podemos eliminar todos los pisos por encima del 10

Entonces, la respuesta debe estar entre los pisos 1 a 10. Podemos tomar el segundo huevo y dejarlo caer desde el primer piso. Si no se rompe en el primer piso, pero se rompe en el segundo piso, entonces sabemos que el segundo piso es el piso “umbral”. Y si no se rompe en ninguno de los pisos entre el 2 y el 8, entonces continuamos hasta el noveno piso, y si no se rompe en el noveno piso, entonces sabemos que el piso 11 es nuestro umbral. Esto tomará un máximo de 10 gotas para determinar el piso del umbral en este caso.
¿Qué pasa con la peor solución del caso? Bueno, el peor de los casos con este método ocurre cuando el piso del umbral es el piso 100. Esto significa que usamos 10 gotas para llegar al piso 100, porque comenzamos desde el piso 10 y subimos en intervalos de 10 hasta el piso 100, y el primer huevo se romperá en el piso 100. Y luego usamos otras 9 gotas con el segundo huevo porque tenemos que probar los pisos 90-99 para ver si el piso del umbral está en algún lugar de ese rango. Esto nos da un total de 19 caídas, que es el peor de los casos con este método.

Ahora, si elegimos los intervalos y el piso de inicio de manera inteligente, podemos mejorar la peor solución.
Podemos intentar reducir el peor de los casos tratando de hacer que todos los escenarios posibles tomen el mismo número de caídas.
Intentemos resolver esto usando un poco de álgebra simple. Supongamos que dejamos caer un huevo del piso x. Si el huevo se rompe, tendríamos que recorrer los pisos x-1 anteriores uno por uno mediante una búsqueda lineal.
Pero, si el huevo no se rompe, en nuestro algoritmo original subiríamos x pisos para encontrar el siguiente piso para probar. ¿Por qué no simplemente subir x-1 pisos en lugar de x pisos? Esto nos ahorraría 1 gota si tenemos que hacer una búsqueda lineal con el segundo huevo cada vez que se rompe el primer huevo, porque estaríamos haciendo la búsqueda lineal desde los pisos x + 1 al piso ((x + 1) + (x-1 )) en lugar de pisos x + 1 al piso (x + 1) + x. Entonces, eso es 1 gota de huevo menos. Esto significa que el siguiente piso del que se debe intentar caer es x + (x-1) si el huevo no se rompe del piso x. Y por el mismo razonamiento, el piso después de eso sería x + (x-1) + (x-2) si el huevo no se rompe en el piso x + (x-1).

Esto continuaría para formar una serie que se ve así:
x + (x-1) + (x-2) + (x-3) +… + 1
La serie anterior es lo que se llama una serie triangular que es igual a x (x + 1) / 2. Debido a que hay 100 pisos en el edificio, establecemos la suma igual a 100 para resolver x:
x (x + 1) / 2 = 100
Cuando la suma de la serie anterior es igual a 100, obtenemos x = 13.651, que se redondea a 14. Esto significa que debemos comenzar desde el piso 14 (que es nuestra x) y luego subir x-1 (13) pisos a piso 27 si el huevo no se rompe y luego subir x-2 (12) pisos al piso 39 y así sucesivamente si el huevo aún no se rompe.
Esta es la cantidad de caídas necesarias a medida que avanzamos por los pisos del edificio:

DropFloor
# 1 14
# 2 27
# 3 39
# 4 50
# 5 60
# 6 69
# 7 77
# 8 84
# 9 90
# 10 95
# 11 99
# 12 100

La solución para el peor de los casos en este escenario ocurre cuando el piso del umbral es el piso número 14, porque dejaremos caer el primer huevo en el piso 14 y se romperá. Luego tenemos que probar los pisos 1-13 con el segundo huevo para ver dónde se rompe el huevo nuevamente, y el huevo no se romperá en ninguno de esos pisos. Pero como el huevo se rompió en el piso 14,
Podemos concluir que el umbral del piso es el piso número 14.

Fuente: http://www.programmerinterview.com

Seguiría esta secuencia:

  1. Suelta el primer huevo del piso 14, si se rompe, revisa secuencialmente los 13 pisos anteriores en orden ascendente (del 1 al 13). Más
  2. Suelta el primer huevo del piso 27, si se rompe secuencialmente revisa los 12 pisos anteriores en orden ascendente. Más
  3. Deje caer el primer huevo del piso 39, si se rompe revise los 11 pisos anteriores en orden ascendente, de lo contrario
  4. Suelta el primer huevo del piso 50, si se rompe, revisa los 10 pisos anteriores en orden ascendente, de lo contrario
  5. Deje caer el primer huevo del piso 60, si se rompe revise los 9 pisos anteriores en orden ascendente, de lo contrario
  6. Deje caer el primer huevo del piso 69, si se rompe revise los 8 pisos anteriores en orden ascendente, de lo contrario
  7. Deje caer el primer huevo del piso 77, si se rompe, verifique los 7 pisos anteriores en orden ascendente, de lo contrario
  8. Deje caer el primer huevo del piso 84, si se rompe, verifique los 6 pisos anteriores en orden ascendente, de lo contrario
  9. Deje caer el primer huevo del piso 90, si se rompe, verifique los 5 pisos anteriores en orden ascendente, de lo contrario
  10. Deje caer el primer huevo del piso 95, si se rompe, verifique los 4 pisos anteriores en orden ascendente, de lo contrario
  11. Deje caer el primer huevo del piso 99, si se rompe, verifique los 3 pisos anteriores en orden ascendente, de lo contrario
  12. 100 es la respuesta.

Paso total en cada escenario: 14.
Reduciendo así el número de intentos tanto como sea posible.

Tienes dos bombillas, y una se rompe, sabes que el piso mínimo es <= el piso que se rompe la primera. De esta forma, puede configurar clavijas de referencia con la primera bombilla e incrementar juiciosamente el número de piso.

Estrategia: Deje caer la primera bombilla (usando la “primera bombilla” como la primera en romperse) en N, 2N, 3N, … pisos 100. Puede tomar N = 10 para comenzar, y luego si no se rompe, déjelo caer desde el piso 20, y del mismo modo hasta el piso 100. Si la primera bombilla se rompe en el piso 100 y no se rompió en la 90, entonces tendrá que comenzar con el piso 91 y luego aumentar en 1 piso hasta que la segunda bombilla se rompa y obtenga el piso más bajo.
Peor caso: 10 + 9 pasos
Sin embargo, puede improvisar esto aún más usando un algoritmo de búsqueda lineal, manteniendo los pisos de referencia desiguales y disminuyendo las diferencias de altura para la primera bombilla. Digamos que comienza con el enésimo piso, si no se rompe, lo deja caer desde un segundo piso de referencia N + N-1 = 2N-1, y del mismo modo 2N-1 + N-2 = 3N-3 para la tercera referencia. Ahora, si la primera bombilla se rompe en uno de estos pisos de referencia, digamos el segundo piso de referencia, es decir, (2N-1) th, la segunda bombilla tendrá que dejarse caer N-2 como máximo.
N ~ 14. Tenga en cuenta que el peor escenario para cada piso de referencia no es tan diferente como en el caso anterior cuando se suponía que los pisos de referencia estaban igualmente espaciados.

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ática] F (N, E) \ = \ MIN (MAX (F (X, E-1), F (NX, E)), \ X \ -> \ 1 \ to \ N) [/ matemática] Base las condiciones 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í:

Espero que lo disfrutes 🙂

Supongamos que dejamos caer un huevo desde el piso 10, luego el 20,
En el primer huevo se rompe en la primera gota (Piso 10), luego tenemos como máximo 10 gotas en total.

Si el primer huevo se rompe en la última gota (Piso 100), entonces tenemos como máximo 19 gotas en total
(pisos 1 a 100, luego 91 a 99).

Eso es bastante bueno, pero todo lo que se nos considera es el peor de los casos. Deberíamos
haga un poco de “equilibrio de carga” para que esos dos casos sean más uniformes.

Objetivo: crear un sistema para soltar Egg1 para que la mayor cantidad de gotas necesarias sea consistente,
si Egg1 se rompe en la primera gota o en la última gota.

1. Un sistema perfectamente equilibrado de carga sería aquel en el que Drops of Egg1 + Drops of
Egg2 es siempre el mismo, independientemente de dónde se rompió Egg1.

2. Para que ese sea el caso, dado que cada gota de Egg1 da un paso más, se permite Egg2
Un paso menos.

3. Por lo tanto, debemos reducir el número de pasos potencialmente requeridos por Egg2 en uno
caer cada vez. Por ejemplo, si Egg1 se cae en el piso 20 y luego en el piso 30, Egg2 es
potencialmente requerido para tomar 9 pasos. Cuando dejamos caer Egg1 nuevamente, debemos reducir el potencial
Egg2 pasa a solo 8. Por ejemplo, debemos dejar Egg1 en el piso 39.

4. Sabemos, por lo tanto, que Egg1 debe comenzar en el piso X, luego subir por pisos X-1, luego X-2, …,
hasta que llegue a 100.

5. Resolver para X + (X-1) + (X-2) +… + 1 = 100. X (X + 1) / 2 = 100 -> X = 14
Vamos al piso 14, luego al 27, luego al 39, … Esto toma 14 pasos como máximo.

Problemas matemáticos de palabras gratis

Pregunta bastante famosa con la siguiente respuesta:

La idea es que sigas disminuyendo 1 piso cada vez que no rompas la bombilla.
P.ej:

# 1 = 14
Diferencia entre # 1 y # 2 = 13. por lo tanto, 14 + 13 = 27
Diferencia entre # 2 y # 3 = 12. Por lo tanto, 27 + 12 = 39 y así sucesivamente.

Este es uno de los problemas populares para los que existen muchas soluciones (usando búsqueda lineal, búsqueda binaria, series aritméticas).
2 huevos 100 pisos

Tenemos 100 pisos y 2 huevos … y como tiene dos huevos, puede permitirse una sola rotura para identificar el piso más alto.

Probemos este método.

Divide los 100 pisos en 2. nos da dos juegos de 50 pisos

es decir, de 1 a 50 pisos y de 51 a 100 pisos

INTENTO 1:

Ve al piso 50 y deja caer el huevo

El resultado puede ser cualquiera de los dos casos.

caso 1. Huevo se rompe en el piso 50

Si este es el caso, entonces hemos dejado caer el huevo desde un piso más grande que el piso más alto desde donde se puede dejar caer de manera segura.

Entonces ahora, toma el otro huevo

Ve al piso 1 y déjalo caer. A ver si se rompe.

Si no es así, incremente el piso uno por uno y suelte el huevo.

Piso 2 … piso 3 … piso 4 …… y así sucesivamente …

Tome los pisos como N y continúe incrementando N + 1. Digamos, si el huevo se rompe en el piso N, entonces N-1 es el piso desde donde se puede soltar sin romperse.

Ejemplo: si el huevo se rompe en el piso 45, entonces 44 es el piso desde donde se puede dejar caer con seguridad.

caso 2. El huevo no se rompe en el piso 50

Si este es el caso, entonces hemos dejado caer el huevo desde un piso más bajo que el piso más alto desde donde se puede dejar caer de manera segura.

Entonces ahora, toma el huevo

Vaya al siguiente piso y deje caer el huevo y continúe incrementando los pisos cada vez, hasta que el huevo se rompa.

Tome los pisos como N y continúe incrementando N + 1. Digamos, si el huevo se rompe en el piso N, entonces N-1 es el piso desde donde se puede soltar sin romperse.

Ejemplo: si el huevo se rompe en el piso 84, entonces 83 es ​​el piso desde donde se puede dejar caer con seguridad.

Esta es una de las formas eficientes de resolver este problema.

Espero haber cumplido tus dudas con mi respuesta.

Sé que hay muchos expertos en ciencias aquí que pueden responder a esta pregunta mucho mejor que yo … Perdóname, solo soy un ingeniero indio. 🙂

La idea detrás de este problema es que el lector debe darse cuenta de que necesita minimizar el no. de los ensayos que se requieren para el peor de los casos. Para hacer esto, debemos asegurarnos de que después de que el huevo no se rompa de uno de los pisos iniciales, el número de pruebas que se necesitan para encontrar el piso del umbral no aumenta.

Consideremos que primero dejo caer el huevo del piso x. Esto podría resultar en uno de dos escenarios:

  1. El huevo se rompe, lo que significa que me llevaría un máximo (x-1) más intentos de averiguar el umbral del piso. (ya que tendría que dejar caer el otro huevo de cada piso debajo de x en orden ascendente). Total de intentos en el peor de los casos [matemática] = 1 + x-1 = x [/ matemática].
  2. El huevo no se rompe, lo que significa que el piso del umbral está por encima de x. Ahora debo asegurarme de que no aumente el número de intentos necesarios para encontrar el umbral. Como ya he probado 1 en el piso x, debo lanzarlo en el piso (x + x – 1). Esto podría resultar en uno de dos escenarios:
  1. El huevo se rompe. Total de intentos en el peor de los casos [matemática] = 1 + 1 + (x – 1 – (x + 1)) = x [/ matemática].
  2. El huevo no se rompe, en cuyo caso utilizo un enfoque similar a 2 y lo tiro desde el piso [matemáticas] (x + (x-1) + (x-2)) [/ matemáticas].

En algún momento, quiero lograr (para el mínimo entero x),

[matemáticas] (x + (x-1) + (x-2) +… + (xx))> = 100 [/ matemáticas]

Algunos reordenamientos conducen a

[matemáticas] x ^ 2- (1 + 2 + 3 + 4 +… + x)> = 100 [/ matemáticas]

[matemáticas] x ^ 2- (x ^ 2 + x) / 2> = 100 [/ matemáticas]

[matemáticas] x ^ 2 -x> = 200 [/ matemáticas]

La solución entera para la cual resulta ser x = 14 (13.651). Entonces, el huevo se cae a

14, 27, 39, 50, 60, 69, 77, 84, 90, 95, 99. El número máximo de intentos que toma también es 14.

~

Si conoce Java, he creado un programa que amplía el problema y para cualquier edificio con n (máximo) pisos y umbral de piso p (umbral), calcula el número mínimo de pruebas requeridas, así como los pisos donde se debe dejar caer el huevo. desde.

// Esta es una extensión de los dos problemas del huevo y encuentra la solución óptima para cualquier piso.

Clase pública EggProblem

{

umbral privado,

max,

flo1;

EggProblem público (int thr, int tot) {

trillar = thr;

max = tot;

flo1 = this.floor1 ();

}

public int tries () {

System.out.print (“Pisos caídos”);

int c = 0,

aumentar = this.flo1;

para (int i = this.flo1; i

System.out.print (i + “”);

if (this.thresh

c ++;

para (int j = i + 1 – aumentar; j

System.out.print (j);

c ++;

if (this.thresh == j)

volver c;

más si (j == i – 1)

volver c;

}

}

si no (this.thresh> i) {

incrementar-;

c ++;

}

más {

volver c;

}

}

volver c;

}

public int floor1 () {

int a = 1,

b = 1,

c = -2 * this.max;

doble Discr = Math.sqrt (b * b – 4 * a * c);

int root1 = doubleToInt ((-b + Discr) / (2 * a)),

root2 = doubleToInt ((-b – Discr) / (2 * a));

if (root1> 0 || -root1> max)

raíz1 = 0;

más if (root2> 0 || -root2> max)

root2 = 0;

int root = – (root1 + root2);

volver root;

}

public int doubleToInt (double d) {

int a = (int) d;

devolver a;

}

}

A2A

* mira las etiquetas * ¿En serio? ¿Relatividad? ¿Cuándo comenzamos a tirar huevos a velocidades cercanas a la luz?
De acuerdo, ecuación simple.
1) Espere a que los huevos eclosionen.
2) Deja que se reproduzcan.
3) Termina teniendo más huevos de los que podrías necesitar para experimentar
4) Haz experimentos para cada piso
5) Encuentra el piso donde se rompe.
6) Reajuste la altura en los 2 pisos intermedios para encontrar la altura óptima.
7) Siéntete deprimido cuando termines el experimento a costa de tener que limpiar el camino que hiciste parecer un arte Grafiti en el piso.
8) Prepárate para PETA. O más importante, huir de ellos.

En una nota seria, debes saber mucho sobre el estrés que pueden soportar los huevos. Dudo que puedan ir más que incluso ir más allá de la planta baja, incluso si golpean la base inferior del huevo, que se supone que es fuerte para sostener el peso de las gallinas mientras se asienta sobre el huevo. Los huevos no son tan fuertes, y ese video que debes haber visto en Nat Geo donde al final toman una cuerda y simplemente rompen esos huevos ya que están en un recipiente que contiene cosas masivas es más una distribución de presión hacer trampa que una prueba de fuerza. Infierno.
Además, acabo de recordar. Hervir los huevos aumenta su fuerza, pero dudo que aguanten si se caen desde más del tercer piso.

– La respuesta será 14, suponiendo que el número total de pisos sea 100.
– Suelta un huevo del piso 14. Si se rompe, deje caer el segundo huevo desde el primer piso. Continúa al siguiente piso si el huevo no se rompe. De esta manera, podemos conocer la respuesta en un máximo de 14 intentos (rotura de huevos desde el piso 13).
– Si el primer huevo no se rompe cuando se cae desde el piso 14, colóquelo nuevamente desde el piso 27 (piso 14 + 13). Si se rompe, deje caer el segundo huevo del piso 15. Tenemos 12 pisos para verificar, piso 15 al piso 26. Por lo tanto, incluso en este caso, podemos conocer la respuesta en 14 intentos (14º + 27º + 12 entre pisos).
– Si el primer huevo no se rompe también desde el piso 27, déjalo caer desde el piso 39 (piso 27 + 12). Si se rompe, tendremos 11 pisos para verificar, del 28 al 38. Por lo tanto, nuevamente en 14 intentos (piso 14 + piso 27 + piso 39 + 11 pisos intermedios) podemos obtener la respuesta.
– Del mismo modo, continúe hasta el piso 100 en caso de que el primer huevo no se rompa.

Si tuviéramos que usar una búsqueda lineal, solo una bombilla se rompería, pero si desea el número mínimo de gotas, no desea guardar las bombillas.
Entonces, esto es lo que haría:

Sigue soltando una bombilla en progresiones aritméticas (ej. 1, 3, 6, 10 …) . Ahora, cuando se rompe la primera bombilla (digamos en el piso 21) sabemos que el piso mínimo estaría entre 15 y 21 . Ahora proceda usando una búsqueda lineal desde 16.

Estoy seguro de que hay un mejor algoritmo aquí, ¡pero esto es lo que podría pensar ahora mismo!

¡Gente, muchos de ustedes han perdido el punto práctico de que estamos hablando de HUEVOS aquí, no de rocas!

Cocinaría y comería los huevos, luego le diría a quien quiera saber que, incluso sin más experimentación, puedo prometer que cualquier huevo crudo que se caiga desde incluso 0.2 pisos de altura se romperá en el concreto.

! mi respuesta necesita más edición para ser útil. ¿Esta adición satisfará los requisitos? Mentes curiosas quieren saber!

El huevo, si está en posición horizontal, no sobrevivirá a una caída en una superficie dura incluso a una altura de un pie. Pruébalo en la sartén de la cocina. Puede hacer cálculos de fuerza e impacto tomando el peso del huevo, el grosor de la cáscara y la altura.

Una forma divertida de responder a la pregunta es que es la altura del piso desde donde arrojas el huevo desde la altura negativa de un piso, lo que significa que si arrojas el huevo desde el piso 35 del edificio, sobrevivirá la caída de 34 pisos !

Si puedo volver a usar un huevo nuevamente, entonces, bastante simple, comience desde el primer piso, deje caer un huevo si no está roto, vaya al segundo y arroje el segundo huevo si está roto, entonces ya sabe la respuesta, pero si no está roto, recoja ambos huevos del suelo y repite así.


Y para minimizar las pruebas, sería mejor dividir los problemas por la mitad. Intente esto: http: //googleweblight.com/? Lite_ …