Rompecabezas de caída de huevos: se necesita sugerencia

Planteamiento del problema

La caída de huevos se refiere a una clase de problemas en los que es importante encontrar la respuesta correcta sin exceder un número (bajo) de ciertos estados de falla. En un ejemplo de juguete, hay una torre de pisos y un cuentagotas con huevos ideales. Las propiedades físicas del huevo ideal son tales que se romperá si se cae del piso o arriba, y no tendrá ningún daño si se cae del piso o debajo. El problema es encontrar una estrategia tal que el cuentagotas pueda determinar el piso en la menor cantidad de gotas posible. Este problema tiene muchas aplicaciones en el mundo real, como evitar una llamada al HDD lento, o intentar minimizar las fallas de caché, o ejecutar una gran cantidad de consultas costosas en una base de datos.

Declaración del problema y análisis de la solución

Cuando tenemos N número de huevos y K número de pisos, el siguiente código encuentra el número mínimo de gotas usando una ecuación cuadrática con una complejidad temporal deEN).

(function() {
  var eggs = 3, floors = 2;

  function findFloor(eggs, floors) {
    if (eggs === 1 || floors === 0 || floors === 1) {
      return floors;
    }

    var minDrops = Math.ceil((-1 + Math.sqrt(1 + (8 * floors))) / 2);
    return Math.min(minDrops, findFloor(eggs - 1, minDrops));
  }

  console.log(findFloor(eggs, floors));
})();

He probado con algunos casos de prueba, pero ¿alguien puede sugerir, esto funcionará para todos los escenarios?

Respuestas a la pregunta(2)

Su respuesta a la pregunta