A342101 Remove middle term and append, starting with [1, 2, 3].
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
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.
Links
- Alois P. Heinz, Table of n, a(n) for n = 1..65537
- Kevin Ryde, PARI/GP Code and Notes.
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