login
a(1)=a(2)=1; a(n)=The count of all occurrences in the list so far where integer a(n-1) appears adjacent to integer a(n-2).
3

%I #52 May 10 2023 22:38:41

%S 1,1,2,1,2,2,2,3,1,1,4,1,2,3,2,3,3,2,4,1,3,2,5,1,1,6,1,2,4,2,3,6,1,3,

%T 3,4,1,4,4,2,4,4,4,5,1,2,5,2,3,7,1,1,8,1,2,6,1,4,5,2,4,5,3,1,4,6,1,5,

%U 3,2,8,1,3,5,3,4,2,6,2,3,9,1,1,10,1,2,7

%N a(1)=a(2)=1; a(n)=The count of all occurrences in the list so far where integer a(n-1) appears adjacent to integer a(n-2).

%H Gavin Lupo, <a href="/A362746/b362746.txt">Table of n, a(n) for n = 1..10000</a>

%H Gavin Lupo, <a href="/A362746/a362746_3.png">Image of the first 100000 terms.</a>

%e a(1) = 1.

%e a(2) = 1.

%e a(3) = 2. How many 1's so far are adjacent to a 1? = 2.

%e a(4) = 1. How many 2's so far are adjacent to a 1? = 1.

%e a(5) = 2. How many 1's so far are adjacent to a 2? = 2.

%e a(6) = 2. How many 2's so far are adjacent to a 1? = 2.

%t K = {1, 1}; While[Length@K < 87, A = Position[K, Last@K]; c = 0; For[a = 1, a <= Length@A, a++, If[K[[A[[a]] - 1]] == {K[[Length@K - 1]]} || K[[A[[a]] + 1]] == {K[[Length@K - 1]]}, c++]]; AppendTo[K, c]]; Print[K] (* _Samuel Harkness_, May 08 2023 *)

%o (Python)

%o from itertools import islice

%o from collections import Counter

%o def agen(): # generator of terms

%o aprev, an, anext, c = 0, 1, 1, Counter({(1, 1)})

%o while True:

%o aprev, an, anext = an, anext, c[an, anext]

%o c[an, anext] += 1

%o if aprev != anext: c[anext, an] += 1

%o yield an

%o print(list(islice(agen(), 100))) # _Michael S. Branicky_, May 02 2023

%Y Cf. A342585, A355271, A362890.

%K nonn,easy,look

%O 1,3

%A _Gavin Lupo_, May 01 2023