Интересная задача на логику?
мне кажется можно еще упростить решение:

0. запоминаем текущее значение. допустим ноль. 

1. Идем вправо, считая шаги пока не дойдем до нуля, при этом прошли A шагов
2. Ставим вместо нуля единицу
3. Идем на А шагов влево (на исходную)
4. Если там 1 (значение изменилось) то N=A, если там 0 то идем на пункт 1

По идее должно быть вдвое короче, т.к. возвращаться на исходную нужно в среднем вдвое реже.
Если уж упрощать, то:

1. Ставим на ячейку 1.
2. A:=1
3. A:=A*2
4. Делаем A шагов вправо, после каждого шага записываем в ячейку 0.
5. Делаем A шагов влево.
6. Если в ячейке 1, идем на пункт 3.
7. Ставим в ячейку 1 и идем вправо, считая шаги, пока не найдем 1.

Максимальное число шагов — N*9-12 (при N>1)