%I
%S 0,0,0,0,0,0,0,3442,0,0,0,27,28,29,0,0,84,2368556,0,0,638385,0,0,0,0,
%T 3642394,0,0,0,464,43807680,2117461,2117462,2117463,2117464,0,0,0,
%U 562491,562492,179,0,0,1,1007,0,104,79,80,0,0,190,0,0,0,0,1107,1108
%N Starting at n, a(n) is the maximum positive position from which a spot must be revisited on the next move, or zero if no such positions exist, according to the following rules. On the kth step (k=1,2,3,...) move a distance of k in the direction of zero. If the number landed on has been landed on before, move a distance of k away.
%e For n=11, the points visited are 11, 10, 8, 5, 1, 4, 2, 5, 3, 6, 4, 7, 19, 32, 18, 3, 13, 30, 12, 31, 51, 72, 50, 27, 51, 26, 0. The only position from which we are forced to revisit a spot is 27, which forces a return to 51. Since this is the only time this happens it is also the maximal positive point for which this happens, thus a(11)=27.
%o (Python)
%o #Sequences A324660A324692 generated by manipulating this trip function
%o #spots  positions in order with possible repetition
%o #flee  positions from which we move away from zero with possible repetition
%o #stuck  positions from which we move to a spot already visited with possible repetition
%o def trip(n):
%o stucklist = list()
%o spotsvisited = [n]
%o leavingspots = list()
%o turn = 0
%o forbidden = {n}
%o while n != 0:
%o turn += 1
%o sign = n // abs(n)
%o st = sign * turn
%o if n  st not in forbidden:
%o n = n  st
%o else:
%o leavingspots.append(n)
%o if n + st in forbidden:
%o stucklist.append(n)
%o n = n + st
%o spotsvisited.append(n)
%o forbidden.add(n)
%o return {'stuck':stucklist, 'spots':spotsvisited,
%o 'turns':turn, 'flee':leavingspots}
%o def maxorzero(x):
%o if x:
%o return max(x)
%o return 0
%o #Actual sequence
%o def a(n):
%o d=trip(n)
%o return maxorzero([i for i in d['stuck'] if i >0 ])
%Y Cf. A228474, A324660A324692.
%K nonn
%O 0,8
%A _David Nacin_, Mar 10 2019
