OFFSET
1,3
COMMENTS
"Consider an array of numbers formed by a rotating queue: starting with just the number 1, to obtain the next row we move everything in the last row m steps to the left, with numbers at the front of the row cycling around and appearing at the back. We then append 1 plus the head of the last row to the new row." (from the Introduction of article by P. J. Graber).
LINKS
Philip Jameson Graber, Rotation Remainders, arXiv:1409.4113 [math.NT], 2014.
PROG
(PARI) moveleft(v, m) = {va = v; for (i=1, m, nb = #va; vb = vector(nb, i, if (i<nb, va[i+1], va[1])); va = vb; ); va; }
newrow(v, m) = {w = moveleft(v, m); concat(w, 1+v[1]); }
trg(nn) = {m = 3; v = [1]; for (n=1, nn, for (i=1, #v, print1(v[i], ", ")); print(); v = newrow(v, m); ); }
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Michel Marcus, Sep 16 2014
STATUS
approved