views:

287

answers:

4

Brainteaser i have been given while competing for C++ programmer vacancy.

Assume there is the pond of perfect circle shape. Right in the center of this pond the duck sits on a water. And right at the coast the fox stays. Of course she cannot swim. The fox is constantly trying to chase and catch the duck so her primary objective is to stay as close to the duck as it is possible. And it is known for sure that the fox runs four times faster than the duck swims.

There are no reaction times nor physical dimensions or effects which should be taken into account.

So the question is: is it possible for the duck to reach the coast and fly away so the fox would not catch her?

I had believed i found the solution but then it turned out to be incorrect.

A: 

The duck moves out at first in 90 degree angle to the fox, spinning in the same direction as the fox. The trick is in noticing that the circumfrence of the circle the fox stays at is fixed while the circumfrence of the duck is always less than that of the fox. Hence, given infinite time, the duck can always get ahead of the fox. I do not know when, exactly the duck should bolt in a straight line. There is a very easy formula but it's one you'll have to figure out.

wheaties
A: 

There are a few things missing I think...you never mentioned the diameter of the pond. If it's a small pond the fox can just catch the duck for example.

Gio
+10  A: 

Yes, the duck can reach the shore! Assume that the pond has radius r. While the duck is strictly within radius r/4 of the center of the pond, it is radially faster than the fox. In other words, while staying in this small radius the duck can reach the "opposite side" of the fox. Once the duck reaches that opposite point, it will swim straight to the shore. The remaining distance is 3r/4. The fox on the other hand has a distance of pi*r, for which he needs pi*r/4 time. Since 3 < pi the duck wins.

Source here

gmcalab
+1 for solving a riddle without knowing it in it's entirety. :)
Crassy