icon

Dropping eggs: Solution

Share this page

Dropping eggs: Solution

Eggs

Imagine you're a farmer and you've produced a breed of hen that lays particularly strong eggs. You want to test just how strong those eggs are by throwing them off the various floors of a 100-story building. Your task is to find the highest floor you can drop an egg from without breaking it. If you had just one egg, you'd know how you would do this: first throw the egg off the 1st floor, if it doesn't break move up to the second, then the third, and so on. You'd need at most 100 throws to find the answer.

But now suppose you had two eggs. What strategy would you use to find the highest drop an egg can survive? What's the smallest number of egg throws you can get away with?

Solution

Let's assume that the best strategy — the strategy for which the maximal number of drops needed is as small as possible — starts with throwing the first egg off the nth floor. It has to start somewhere, after all, so we might as well call that starting floor n. Notice that, if the first egg breaks on that first drop, we are back in the one-egg scenario: we have no choice but to test the n1 floors below one by one using the second egg, and that could take up to n1 drops. Therefore, the maximal number of drops needed for our strategy is at least n. There's no way of getting away from that fact: a strategy that starts on the nth floor can require up to n drops (if not more). Now suppose that the first egg doesn't break when dropped from the nth floor. We should now drop our still-intact first egg from some higher floor, but which one? It would be good to skip a whole chunk of floors so that if the first egg doesn't break on the second drop either, we have eliminated that large chunk in one go. On the other hand, we don't want that chunk to be too large: if the first egg does break on the second drop, we need to test that whole chunk floor by floor, using the second egg. So let's choose the size of the chunk to be as large as we can get away with without making the lower bound of the maximal number of drops needed any larger than it already was — that is, without making it greater than n. Since we will have already used 2 drops with the first egg, we only have n2 left. Let's therefore move up by another n1 floors for our second drop with the first egg. If it breaks, then we need to check at most n2 floors (the floors between n+1 and n2 inclusive) with the second egg. The maximal number of drops needed is still at least n, no matter if the first egg drops on the first or on the second drop. By the same reasoning, we should move up another n2 floors for the third drop of the first egg, then another n3 floors for the fourth drop, and so on. Since there are 100 floors in total, our number n needs to satisfy the equation n+(n1)+(n2)+....+2+1=100. Now it turns out that n+(n1)+(n2)+....+2+1=(n+1)n2, so we need (n+1)n2=100, which means that n2+n200=0. Solving this quadratic equation gives a positive solution of n=1+801213.65. We need a whole number solution, so we'll round that up to 14. Therefore, the best strategy starts with dropping the first egg off the 14th floor, if it doesn't break moves up to the 14+13=27th floor, then to the 14+13+12=39th floor and so on. When the first egg breaks, the strategy tests all the floors in the chunk below one by one using the second egg. The maximal number of drops needed is 14.

Permalink
Comment

Would it work if, I dropped the first egg from let's say the second floor over and over until it breaks. If it breaks after 4 throws, I calculate the total distance which would be 2*4, where 1 floor has a distance of 1, and 4 is the number of throws. Then I would have to throw the second egg from the eight's floor (2*4), and it should theoretically break, right? Or am I wrong?