3. Binary Increment
The lecture hall at Dorpat was unusually cold that morning. Frost had settled into the corners of the high windows, drawing fractal borders on glass that no heat from the cast-iron stove could chase away. Students shivered in their coats, but Professor Reichenstein seemed impervious, standing at the lectern as rigid and sharp as the equations chalked behind him.
He turned to the class, eyes narrowed behind round spectacles.
„If any of you claim to understand arithmetic“, he began, „you will not find this difficult.“
He paused, then scrawled three characters on the board: 111
.
„Increment this number. In binary. Without trickery. Without shortcuts. Using only reason—and rigor. Show each transformation, step by step, as if a blind automaton were to perform it. That is your task. Due tomorrow.“
There was a murmur of protest. A few students already scribbled half-heartedly. Mihkel remained motionless.
He understood Reichenstein’s challenge—and its malice. This wasn’t about testing logic. It was about trapping the overconfident. To the professor, elegance was the enemy of precision, and Mihkel’s occasional uninvited remarks had not gone unnoticed.
Later that night, in the quiet of his workshop, Mihkel unspooled the input tape. 111
—three symbols, a modest test.
But within it lay the heart of computation: carrying a bit through a chain of logic, one state to the next.
He fed the tape into the Mill, each wheel engaging with a subtle click, the tape whispering forward like a cautious breath. This time, there was no poetry. Only states and transitions, a hidden dance in steel.
The Mill stopped.
1000
Perfect.
But Mihkel did not sign his name. Instead, he copied the output by hand and placed it on Reichenstein’s desk before sunrise, folded precisely, unsigned, anonymous—like a theorem proved without applause.
On the input tape, you'll get a binary number.
Your task is to increment it by 1.
For example, if the input tape is 1010
, your output should be 1011
.