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.

A371594 Starting positions of runs in the paperfolding sequence A014707.

Original entry on oeis.org

1, 3, 4, 6, 8, 11, 13, 14, 16, 19, 20, 22, 25, 27, 29, 30, 32, 35, 36, 38, 40, 43, 45, 46, 49, 51, 52, 54, 57, 59, 61, 62, 64, 67, 68, 70, 72, 75, 77, 78, 80, 83, 84, 86, 89, 91, 93, 94, 97, 99, 100, 102, 104, 107, 109, 110, 113, 115, 116, 118, 121, 123, 125
Offset: 1

Views

Author

Jeffrey Shallit, Mar 28 2024

Keywords

Comments

A "run" is a maximal block of consecutive identical terms. The paperfolding sequence A014707 is more usually indexed starting at position 1, not 0, and this choice is reflected in the sequence (cf. A034947).

Examples

			The first few terms of A014707 are 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, and runs begin at positions 1, 3, 4, 6, 8, 11, 13, 14, ...
		

Crossrefs

Programs

  • Mathematica
    Abs@ SplitBy[Array[#  KroneckerSymbol[-1, #] &, 120], Sign][[All, 1]] (* Michael De Vlieger, Mar 28 2024 *)
  • PARI
    a(n) = if(n==1,1, n--; 2*n + bitxor(bittest(n,0), bittest(n,valuation(n,2)+1))); \\ Kevin Ryde, Apr 06 2024
  • Python
    # DFA transition function and simulation
    d = { (0,0):0, (0,1):1, (1,0):2, (1,1):3, (2,0):4, (2,1):5,
          (3,0):6, (3,1):7, (4,0):4, (4,1):5, (5,0):2, (5,1):3,
          (6,0):0, (6,1):1, (7,0):6, (7,1):7 }
    def ok(n):
        q, w = 0, map(int, bin(n)[2:])
        for c in w: q = d[q, c]
        return q in {1, 3, 4, 6}
    print([k for k in range(126) if ok(k)]) # Michael S. Branicky, Mar 28 2024
    
  • Python
    # using formula and function in A014707
    def a(n): return 2*n-1 - (n + A014707(n-2))%2 if n>=2 else 1
    print([a(n) for n in range(1, 64)]) # Michael S. Branicky, Mar 29 2024
    

Formula

The automaton accompanying this entry accepts exactly the base-2 representations of the terms of this sequence.
a(n) = 2*n-1 - ((n + A014707(n-2)) mod 2), for n >= 2. - Kevin Ryde, Mar 28 2024