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.

A357531 Final value obtained by traveling clockwise around a circular array with positions numbered clockwise from 1 to n. Each move consists of traveling clockwise k places, where k is the position at the beginning of the move. The first move begins at position 1. a(n) is the position at the end of the n-th move.

Original entry on oeis.org

1, 2, 2, 4, 2, 4, 2, 8, 8, 4, 2, 4, 2, 4, 8, 16, 2, 10, 2, 16, 8, 4, 2, 16, 7, 4, 26, 16, 2, 4, 2, 32, 8, 4, 18, 28, 2, 4, 8, 16, 2, 22, 2, 16, 17, 4, 2, 16, 30, 24, 8, 16, 2, 28, 43, 32, 8, 4, 2, 16, 2, 4, 8, 64, 32, 64, 2, 16, 8, 44, 2, 64, 2, 4, 68, 16, 18, 64, 2, 16, 80, 4, 2, 64, 32, 4, 8, 80
Offset: 1

Views

Author

Moosa Nasir, Nov 19 2022

Keywords

Comments

This is only an empirical observation, but when we graph this sequence, a point always exists at the intersection of y = 2^b and y = -x + 2^(b+1), where b is any integer greater than or equal to 1. This means that a(2^b) = 2^b. This is shown in a link.
Many of the terms seem to be of the form 2^b.

Examples

			For n = 5, with a circular array of positions numbered clockwise from 1 to 5, start at position 1.
On move 1, travel 1 unit clockwise, reaching position 2.
On move 2, travel 2 units clockwise, reaching position 4.
On move 3, travel 4 units clockwise (almost a full circle), reaching position 3.
On move 4, travel 3 units clockwise, reaching position 1.
On move 5, travel 1 unit clockwise, reaching position 2.
Since the final position at the end of the 5th move is 2, a(5) = 2. (See the illustration in the links.)
		

Crossrefs

Cf. A358647 (stepping in digits of n).
Equals {A082495} + 1. - Hugo Pfoertner, Nov 30 2022

Programs

  • C
    int a(int n)
    {
        int current = 1;
        for (int j = 0; j < n; j++) {
            current += current;
            if (current > n) {
                current = current - n;
            }
        }
        return current;
    }
    
  • PARI
    a(n) = lift(Mod(2,n)^n - 1) + 1; \\ Kevin Ryde, Nov 20 2022
    
  • Python
    def A357531(n): return m if (m:=pow(2,n,n)) else n # Chai Wah Wu, Dec 01 2022

Formula

a(n) = ((2^n - 1) mod n) + 1 = A082495(n) + 1. - Jon E. Schoenfield, Nov 20 2022