Calculating 25 minutes by burning 2 inconsistently burning 1-hour ropes
You are given two ropes and are told that they burn at inconsistent rates, but will always take 1 hour to completely burn up. This means that cutting one of the ropes perfectly in half will not give you two smaller 30-minute ropes.
You are told that you need to approximately calculate 25 minutes by burning these ropes in some fashion.
How do you accomplish this?
Hint:
first ½ of hint
I carefully chose approximately instead of precisely
second ½ of hint
because to calculate it precisely would require that you ignite an infinite number of flames
Fold both ropes to find 5/12ths of each length of rope. Cut off those lengths and burn both of the 5/12 portions? Sounds like it’d work.
Burn the four portions cut this way from the ropes, starting to burn them simultaneously. The 5/12 should be taken starting from the end of the ropes. When the second of these four pieces has burnt fully, say it’s approx 25 min.
Good suggestion! That would work well if the ropes burned consistently, but it’s possible that those 5/12 portions are more/less volatile than the remainders, meaning they could burn for 25 minutes, but also they could burn for 10 minutes, or 50.
Ah, very tricky. I’m not very good at math, so my next idea is to brute force it by unraveling both ropes into their individual threads, counting up 5/12ths of each ropes’ threads and re-tying and burning those threads. Each thread would be the same length as the original rope and would have the same inconsistencies, you’d just be left with a skinnier rope that hopefully has 25min of material left to burn between the two.
Hopefully somebody figures out the real answer and can chime in, ::: I’m curious how lighting multiple fires helps :::
Waited 24 hours in case anyone could figure it out. I’ve posted the solution as it’s own top comment.
Answer context: if you light both ends of one rope, the two flames will always meet each other and fizzle out in exactly 30 minutes.
Key takeaway:
- 1 flame on a rope = 1 hour
- 2 flames on a rope = ½ hour
So you may (correctly) think that 3 flames = ⅓ hour. But there’s trick to it. Those 3 flames should always be; 2 on the end, and 1 arbitrarily in the middle.
Doing this will actually cause 1 rope segment with 3 flames to turn into 2 rope segments with 4 flames. Since that middle flame was placed arbitrarily, we can expect one of the segments to burn up before the other. When this happens, we just place a new flame arbitrarily in the middle of the remaining segment, splitting it back into 2.
As long as we keep adding flames so that we always have 2 segments, the total rope will ultimately burn in 20 minutes (⅓ hour).
This is generalizable; to achieve any fraction of 1/x hours, we need to always maintain x-1 segments (min 1). So for ½ hour, we need to maintain 1 segment. For ⅐ hour, we need to maintain 6 segments, etc.
Final answer: 25 minutes can be expressed as ⅙+¼ hours. Therefore we need to burn the first rope such that we always maintain 5 segments. Then once that’s fully burnt, we just burn the second rope such that we always maintain 3 segments.
I feel like I’ve entered a Google interview