login
Triangle T(n,k) read by rows, in which row n gives all permutations of digits 1..n interpreted in base n+1.
8

%I #85 Jan 05 2023 10:17:31

%S 1,5,7,27,30,39,45,54,57,194,198,214,222,238,242,294,298,334,346,358,

%T 366,414,422,434,446,482,486,538,542,558,566,582,586,1865,1870,1895,

%U 1905,1930,1935,2045,2050,2105,2120,2140,2150,2255,2265,2285,2300,2355,2360

%N Triangle T(n,k) read by rows, in which row n gives all permutations of digits 1..n interpreted in base n+1.

%C All terms in any odd row 2m+1 are divisible by 2m+1

%C The n-th row has n! elements.

%C Variant of permutational numbers with shifted digits 0->1->2->...->p+1 in p+1 positional system -- see A134750. - _Artur Jasinski_, Nov 08 2007

%C From _Alexander R. Povolotsky_, Oct 22 2022: (Start)

%C All terms in any even-indexed row n=2m are divisible by m, where m>0.

%C Row n starts with T(n,1) = ((n+1)^(n+1)-n^2-n-1)/n^2 = A023811(n+1).

%C Row n ends with T(n,n!) = ((n+1)^(n+1)*(n-1)+1)/n^2 = A051846(n).

%C (End)

%H Samuel Harkness, <a href="/A051845/b051845.txt">Table of n, a(n) for n = 1..10000</a>

%e Triangle begins:

%e k=1 k=2 k=3 ...

%e n=1: 1;

%e n=2 5, 7;

%e n=3: 27, 30, ..., 57;

%e n=4: 194, 198, 214, ..., 586;

%e n=5: 1865, 1870, 1905, 1930, ..., 7465;

%e E.g., the permutations of digits 1, 2 and 3 in lexicographic order are 123, 132, 213, 231, 312, 321, which interpreted in base 4 give the third row of the table: 27, 30, 39, 45, 54, 57.

%p with(combinat,permute); compute_u_rows := proc(u) local a,n; a := []; for n from 1 to u do a := [op(a),op(map(list_in_base_b,permute(n),(n+1)))]; od; RETURN(a); end; list_in_base_b := proc(l,b) local k; add(l[nops(l)-k]*(b^k), k=0..(nops(l)-1)); end;

%t a = {}; b = {}; Do[AppendTo[b, n]; w = Permutations[b]; Do[j = FromDigits[1 + w[[m]], n + 2]; AppendTo[a, j], {m, 1, Length[w]}], {n, 0, 5}]; a (* _Artur Jasinski_, Nov 08 2007 *)

%o (Python)

%o from itertools import permutations

%o def fd(d, b): return sum(di*b**i for i, di in enumerate(d[::-1]))

%o def row(n): return [fd(d, n+1) for d in permutations(range(1, n+1))]

%o print([an for r in range(1, 6) for an in row(r)]) # _Michael S. Branicky_, Oct 21 2022

%Y Left edge = A023811, right edge = A051846.

%Y Cf. A134640, A134750.

%K easy,nonn,tabf,base

%O 1,2

%A _Antti Karttunen_, Dec 13 1999