cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A324660 Starting at n, a(n) is the total number of moves made to the right according to the following rules. On the k-th 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 from zero instead.

This page as a plain text file.
%I A324660 #17 Mar 11 2019 20:31:40
%S A324660 0,0,1,0,10,11,0,861,4,5,0,11,59,60,5,0,57,390898,7,8,66444,0,22,11,
%T A324660 12,610392,8,9,0,211,4434560,266001,266000,266001,266002,9,0,43,
%U A324660 106674,106673,120,12,11,12,495,0,67,50,51,36,37,100,25,12,13,0,317,316
%N A324660 Starting at n, a(n) is the total number of moves made to the right according to the following rules. On the k-th 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 from zero instead.
%e A324660 For n=2, the points visited are 2,1,-1,-4,0 with the move from -4 to 0 being the only one to the right, hence a(2)=1.
%o A324660 (Python)
%o A324660 #Sequences A324660-A324692 generated by manipulating this trip function
%o A324660 #spots - positions in order with possible repetition
%o A324660 #flee - positions from which we move away from zero with possible repetition
%o A324660 #stuck - positions from which we move to a spot already visited with possible repetition
%o A324660 def trip(n):
%o A324660     stucklist = list()
%o A324660     spotsvisited = [n]
%o A324660     leavingspots = list()
%o A324660     turn = 0
%o A324660     forbidden = {n}
%o A324660     while n != 0:
%o A324660         turn += 1
%o A324660         sign = n // abs(n)
%o A324660         st = sign * turn
%o A324660         if n - st not in forbidden:
%o A324660             n = n - st
%o A324660         else:
%o A324660             leavingspots.append(n)
%o A324660             if n + st in forbidden:
%o A324660                 stucklist.append(n)
%o A324660             n = n + st
%o A324660         spotsvisited.append(n)
%o A324660         forbidden.add(n)
%o A324660     return {'stuck':stucklist, 'spots':spotsvisited,
%o A324660                 'turns':turn, 'flee':leavingspots}
%o A324660 #Actual sequence
%o A324660 def a(n):
%o A324660     d=trip(n)
%o A324660     return sum(1 for i in range(d['turns']) if d['spots'][i+1] > d['spots'][i])
%Y A324660 Cf. A228474, A324660-A324692
%K A324660 nonn
%O A324660 0,5
%A A324660 _David Nacin_, Mar 10 2019