# Maximise Steve's step counter reset process

I have a super old fashioned step counter that looks something like this:

Every time you press the button, the right hand digit increments. When this digit reaches 9 then it resets to 0 and the digit in the 10's box increments and so on. The maximum number of steps that this device can count is 9999.

The black knob on the side is how you reset the counter. When you turn it until it clicks, the lowest digit in any position increments by 1. If two or more digits match in any position they also increment. So if the black knob was turned one click on the above image the counter would read 1 3 4 1.

However, if the button was pressed another couple of times so that the display would read 2 3 5 1, and the knob was turned another click, the display would read 3 3 5 1 because the mechanical arrangement of the gears will not increment the 1 until the next full rotation. That means that the 1 will only be picked up if you rotate the knob through 8 clicks. The process would look like this:

2 2 5 1
3 3 5 1
4 4 5 1
5 5 5 1
6 6 6 1
7 7 7 1
8 8 8 1
9 9 9 1
0 0 0 1
1 1 1 1
*8 clicks*
0 0 0 0


The counter is considered reset when all 4 numbers are 0.

My puzzle is as follows:

There's a robot called Steve whose job it is to reset these counters. Steve will accept a counter and start turning the reset knob until the display reads 0 0 0 0. You may tell Steve to stop rotating the reset knob and take the counter back at any time.

The counter starts on 1 3 4 0. You can rotate the reset knob as many times as you like, however you can only press the button on the counter a total of 10 times, before Steve will no longer accept the counter back because you're deliberately screwing with him. What's the optimal method to waste Steve's time by making him turn the reset knob the maximum number of times.

• I'm a bit confused. Can I take the counter back from Steve as many times as I want? If so, won't this go on forever without even needing to use the step button? (whenever he is 1 step away from finishing, just grab it and rotate twice to 1111) – Ryan27 Nov 1 '16 at 18:21
• I'm confused about the reset knob. You say that turning it will turn 2351 into 3351, yet you also say that when turning it, the lowest digit in any position increments by 1. Shouldn't that turn 2351 into 2352? Don't you mean that the leftmost dial will advance, with dials to the right joining as soon their digit is equal to that of the dial on its left? – SQB Oct 23 '18 at 14:08
• @SQB I don't think that's how it's supposed to be interpreted. I have a feeling that what JamesENL was trying to say is that: if a number was just incremented via the button, the reset knob can't affect it until the reset knob has done a full 0-1-2-3-4-5-6-7-8-9 rotation cycle through to catch up to it again – Hugh Oct 23 '18 at 14:27

Here is the best I got so far

Wait until the counter is up to 8880 then take the counter(7 spins)
Raise it to 8881 and give it back.(1 button press)
When the counter is up at 8888, take it again.(14 spins)
Then raise it to 8891 and give it back.(4 button press)
When the counter is up to 8898, take it again.(21 spins)
Then raise it to 8901 and give it back.(7 button press)
When the counter is up to 9909, take it again.(29 spins)
Then raise it to 9910 and give it back.(8 button press)
When the counter is up to 9990, take it again.(37 spins)
Then raise it up to 9991 and give it back.(9 button press)
Let it go all the way to 0000(46 spins)
So it took 46 spins instead of 9

EDIT
I just found a much better way

Wait until the counter is up to 9990 then take the counter(8 spins)
Raise it to 9991 and give it back.(1 button press)
When the counter is up at 9999, take it again.(16 spins)
Then raise it to 0001 and give it back.(3 button press)
When the counter is up to 0009, take it again.(24 spins)
Then raise it to 0010 and give it back.(4 button press)
When the counter is up to 0090, take it again.(32 spins)
Then raise it to 0091 and give it back.(5 button press)
When the counter is up to 0099, take it again.(40 spins)
Then raise it up to 0100 and give it back.(6 button press)
When the counter is up to 0900, take it again.(48 spins)
Then raise it up to 0901 and give it back.(7 button press)
When the counter is up to 0909, take it again. (56 spins)
Then raise it up to 0910 and give it back.(8 button press)
When the counter is up to 0990, take it again. (64 spins)
Then raise it up to 0991 and give it back.(9 button press)
When the counter is up to 0999, take it again. (72 spins)
Then raise it up to 1000 and give it back.(10 button press)
When the counter is up to 0000, you are done. (81 spins)
So it took 81 spins instead of 9

• If you have the counter at 0010 then 8 spins later it will be 8880 and not 0090 – Etoplay Nov 1 '16 at 15:50
• 999900000001 is just two button presses, isn't it? – SQB Oct 23 '18 at 14:11