OFFSET
0,3
LINKS
Alois P. Heinz, Table of n, a(n) for n = 0..19682
Donald E. Knuth, The Art of Computer Programming, Pre-Fascicle 2A, Draft of Section 7.2.1.1, subsection "Nonbinary Gray codes", page 18. At the bottom of page 19, ternary example g hat for all m_j=3 is the present sequence.
Z. Sunic, Tree morphisms, transducers and integer sequences, arXiv:math/0612080 [math.CO], 2006.
MAPLE
A128173 := proc(nmax) local K, tmp, n3, n, r, c, t, a ; n3 := 3 ; n := 1 ; K := linalg[matrix](n3, 1, [[0], [1], [2]]) ; while n3 < nmax do n3 := n3*3 ; n := n+1 ; tmp := K ; K := linalg[extend](K, 2*n3/3, 1, 0) ; K := linalg[copyinto](tmp, K, 1+n3/3, 1) ; K := linalg[copyinto](tmp, K, 1+2*n3/3, 1) ; for r from 1 to n3 do K[r, n] := floor((r-1)/(n3/3)) ; od ; for r from n3/3+1 to n3/2 do for c from 1 to n do t := K[r, c] ; K[r, c] := K[n3+1-r, c] ; K[n3+1-r, c] := t ; od ; od ; od ; a := [] ; for r from 1 to n3 do a := [op(a), add( K[r, c]*3^(c-1), c=1..n) ] ; od ; a ; end: A128173(30) ; # R. J. Mathar, Jun 17 2007
MATHEMATICA
a[n_] := Module[{v, r, i}, v = IntegerDigits[n, 3]; r = 0; For[i = 1, i <= Length[v], i++, If[r == 1, v[[i]] = 2 - v[[i]]]; r = Mod[r + v[[i]], 2]]; FromDigits[v, 3]];
a /@ Range[0, 100] (* Jean-François Alcover, Jul 18 2020, after Kevin Ryde *)
PROG
(PARI) a(n) = my(v=digits(n, 3), r=Mod(0, 2)); for(i=1, #v, if(r, v[i]=2-v[i]); r+=v[i]); fromdigits(v, 3); \\ Kevin Ryde, May 21 2020
CROSSREFS
KEYWORD
nonn
AUTHOR
Ralf Stephan, May 09 2007
EXTENSIONS
More terms from R. J. Mathar, Jun 17 2007
Offset changed to 0 by Alois P. Heinz, Feb 23 2018
STATUS
approved