Monday, July 31, 2006

Good programming puzzle that I came across

Here is something that I just came across while preparing for an interview. I did solve the puzzle myself in less than 1/2 hour. Sorry no answers for this one:

A helicopter drops two trains, each on a parachute, onto a straight infinite railway line. There is an undefined distance between the two trains. Each faces the same direction, and upon landing, the parachute attached to each train falls to the ground next to the train and detaches. Each train has a microchip that controls its motion. The chips are identical. There is no way for the trains to know where they are. You need to write the code in the chip to make the trains bump into each other. Each line of code takes a single clock cycle to execute. You can use the following commands (and only these);
  • MF - moves the train forward
  • MB - moves the train backward
  • IF (P) - conditional that is satisfied if the train is next to a parachute. There is no "then" to this IF statement.
  • GOTO

Have fun!

No comments: