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.

A342101 Remove middle term and append, starting with [1, 2, 3].

Original entry on oeis.org

1, 2, 3, 1, 3, 1, 2, 1, 3, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 3, 1, 2, 1, 3, 1, 2, 3, 1, 1, 2, 1, 1, 2, 3, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 3, 1, 2, 1, 3, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 3
Offset: 1

Views

Author

Matthew Malone, Feb 28 2021

Keywords

Examples

			Start with [1, 2, 3], take that sequence, remove the middle term, 2, and append to the original sequence, yielding [1, 2, 3, 1, 3]. Then repeat this process to give [1, 2, 3, 1, 3, 1, 2, 1, 3], and so on.
		

Crossrefs

Cf. A000051.

Programs

  • Kotlin
    fun A342101(iter: Int): List = removeMiddle(listOf(1,2,3), iter)
    fun removeMiddle(initial: List, iter: Int): List {
      if (iter < 2) return initial
      val prev = removeMiddle(initial, iter-1)
      return prev + prev.subList(0, (prev.size - 1) / 2) + prev.subList((prev.size + 1) /2, prev.size)
    }
    
  • Maple
    T:= proc(n) option remember; `if`(n=1, [$1..3][],
          subsop(2^(n-2)+1=[][], [seq(T(i), i=1..n-1)])[])
        end:
    seq(T(n), n=1..8);  # Alois P. Heinz, Apr 12 2021
  • Mathematica
    Nest[Join[#, Drop[#, {(Length[#] + 1)/2}]] &, Range[3], 6] (* Michael De Vlieger, May 01 2021 *)
  • PARI
    first(n) = { my(v = [1,2,3]); for(i = 1, logint(n-1, 2), cv = v[^(#v + 1)\2]; v = concat(v, cv) ); v } \\ David A. Corneth, Apr 14 2021
    
  • PARI
    \\ Also see links.
  • Python
    def aupton(terms):
      alst = [1, 2, 3]
      while len(alst) < terms:
        alst += alst[:len(alst)//2] + alst[(len(alst)+1)//2:]
      return alst[:terms]
    print(aupton(87)) # Michael S. Branicky, Mar 26 2021