login
This site is supported by donations to The OEIS Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A324682 Starting at n, a(n) is the sign of the of the closest nonzero point to zero visited for which the next move is a step away from zero, 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. In the case of a tie, or if the set of points is empty, we set a(n)=0. 0
0, 0, -1, 0, -1, 1, 0, -1, -1, 1, 0, -1, -1, 1, -1, 0, 1, 0, -1, 1, 1, 0, -1, -1, 1, 0, -1, 1, 0, -1, -1, -1, -1, 1, 1, -1, 0, -1, -1, -1, -1, -1, -1, 1, 1, 0, -1, -1, 1, -1, 1, 1, -1, -1, 1, 0, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 0, -1, 1, 0, -1, -1, -1 (list; graph; refs; listen; history; text; internal format)
OFFSET

0,18

LINKS

Table of n, a(n) for n=0..72.

EXAMPLE

For n=9, the points visited are 9, 8, 6, 3, -1, 4, -2, 5, -3, -12, -22, -11, 1, 14, 0. The three times moves are made away from zero happen at -3, -12 and 1. The closest of these is to zero is 1 and thus a(9) = sgn(1) = 1.

PROG

(Python)

#Sequences A324660-A324692 generated by manipulating this trip function

#spots - positions in order with possible repetition

#flee - positions from which we move away from zero with possible repetition

#stuck - positions from which we move to a spot already visited with possible repetition

def trip(n):

    stucklist = list()

    spotsvisited = [n]

    leavingspots = list()

    turn = 0

    forbidden = {n}

    while n != 0:

        turn += 1

        sign = n // abs(n)

        st = sign * turn

        if n - st not in forbidden:

            n = n - st

        else:

            leavingspots.append(n)

            if n + st in forbidden:

                stucklist.append(n)

            n = n + st

        spotsvisited.append(n)

        forbidden.add(n)

    return {'stuck':stucklist, 'spots':spotsvisited,

                'turns':turn, 'flee':leavingspots}

def sgn(x):

    if x:

        return x//abs(x)

    return 0

def maxorzero(x):

    if x:

        return max(x)

    return 0

def minorzero(x):

    if x:

        return min(x)

    return 0

#Actual sequence

def a(n):

    d = trip(n)

    neg=maxorzero([i for i in d['flee'] if i < 0])

    pos=minorzero([i for i in d['flee'] if i > 0])

    if neg and not pos:

        return -1

    return -sgn(neg+pos)

CROSSREFS

Cf. A228474, A324660-A324692.

Sequence in context: A286055 A140318 A060584 * A098725 A284939 A188260

Adjacent sequences:  A324679 A324680 A324681 * A324683 A324684 A324685

KEYWORD

sign

AUTHOR

David Nacin, Mar 10 2019

STATUS

approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified September 20 10:10 EDT 2019. Contains 327229 sequences. (Running on oeis4.)