Paul's puzzle 60 solution - 43 parts


#1

Here’s my solution (it’s the one from the book):

And here’s the link:

http://www.lodev.org/jstumble/?board=00llllr0r0eerrlaeerxlgreeagaalelaagrelrllllexllieilie0

Description: This is a tough one. Both registers are set up to count down. The key to understanding this one is to look at the two sets of connected gear bits.

If register A is less than register B:
Register A will underflow first, flipping both sets of gear bits right. Then a ball will test register B. It won’t underflow because it’s greater than register A, so the ball will interact with the first set of gear bits (which are now turned right) and end up in the left-most interceptor.

If register A is greater than register B:
Register B will underflow first, and since the right-most gear bits will still be facing to the right, the ball will end up in the right interceptor.

If register A is equal to register B:
Register A will underflow first, flipping both sets of gear bits right. Then register B will underflow. Since both sets of gear bits are facing right, the ball will end up in the basket.


#2

A minor suggestion for future printings of the book:

In the book, all of the examples for challenge 60 appear to show a blue ball in the output. (Unless I’m interpreting that wrong; I’m partly color-blind, so I may be misunderstanding.) But it looks to me like your solution sometimes outputs a red ball instead of blue. So in a future edition, could you add a note to clarify that the output balls can be either color?


#3

Good catch, Jed!! I’ll fix that. Thanks for posting that!


#4

I do have a solution which does always output a blue ball - the secret is to start with the red lever…


https://www.lodev.org/jstumble/?board=00llllr0r0eerllreexlelerreleebgbgbeelbxeelrrreieilie1_8_8