Logic puzzle - John C. Kirk
Apr. 25th, 2009
11:42 am - Logic puzzle
Over at the Microsoft Press blog, they've been promoting Inside Microsoft SQL Server 2008: T-SQL Querying. As well as the blurb about the book itself, they have a logic puzzle:
Two trains race toward each other on a railway segment that’s 100 miles long. The trains are traveling at 100 mph. A mosquito flying at 200 mph flies from one train toward the other, and as soon as it arrives at the other train, it flips its direction and flies back toward the first train. The mosquito continues bouncing back and forth between the trains until the trains crash. What’s the total distance that the mosquito covers until the moment of the crash?
This is taken from the book, which implies that it could be solved by using a SQL query. I'd be more inclined to do something in Excel, i.e. calculating the relative positions of the trains and the mosquito after each minute has passed, then adding up the total distance travelled. Still, either approach is inelegant, and I think I've now found a neater solution.
Basically, I think it's a bit of a trick question. If the trains start out 100 miles apart, and they each travel at 100mph, it will take them 30 minutes to travel 50 miles, then they'll crash. If the mosquito is flying back and forth continuously for that 30 minutes, at 200mph, it will travel 100 miles. We don't need to know the exact positions of the trains each time it "bounces".