%I #13 Jul 14 2023 17:52:02
%S 2,6,22,2,106,14,630,88,2,4394,614,32,35078,4874,366,2,315258,43638,
%T 3912,72,3149494,435002,42808,1494,2,34620010,4775184,496222,25224,
%U 160,415222566,57214716,6164470,393792,6054,2,5395737242,742861262,82190752,6070408,160784,352
%N Triangle read by rows: T(n,k) = number of permutations p of 1,...,n, with min(|p(i)-p(i-1)|, i=2..n) = k (n>=2, k>=1).
%C Row n has floor(n/2) terms. Row sums are the factorial numbers (A000142). T(n,1) = A129535(n). Sum(T(n,k), k>=2) = A002464(n). If, in the definition, min is replaced by max, then one obtains A064482.
%D R. P. Stanley, Enumerative Combinatorics, Cambridge, Vol. 2, 1999; see Problem 6.40.
%H Alois P. Heinz, <a href="/A129534/b129534.txt">Rows n = 2..18, flattened</a>
%e T(4,2) = 2 because we have 3142 and 2413.
%e Triangle starts:
%e 2;
%e 6;
%e 22, 2;
%e 106, 14;
%e 630, 88, 2;
%e 4394, 614, 32;
%e ...
%p k:=3: with(combinat): a:=proc(n) local P,ct,i: P:=permute(n): ct:=0: for i from 1 to n! do if min(seq(abs(P[i][j]-P[i][j-1]),j=2..n))=k then ct:=ct+1 else ct:=ct: fi: od: ct: end: seq(a(n),n=2..8); # yields the first 7 entries in any specified column k
%o (C++) #include <iostream> #include <vector> #include <algorithm> using namespace std; inline int k(const vector<int> & s) { const int n = s.size() ; int kmin = n+1 ; for(int i=1; i<n; i++) { const int thisdiff = abs(s[i]-s[i-1]) ; if ( thisdiff < kmin) kmin = thisdiff ; } return kmin ; } int main(int argc, char *argv[]) { for(int n=2 ;;n++) { vector<int> s; for(int i=1;i<=n;i++) s.push_back(i) ; vector<unsigned long long > resul(n); do { resul[k(s)]++ ; } while( next_permutation(s.begin(),s.end()) ) ; for(int i=1;i<=n/2;i++) cout << resul[i] << ", " ; cout << endl ; } return 0 ; } - _R. J. Mathar_, Oct 11 2007
%Y Cf. A000142, A129535, A002464, A064482.
%K nonn,tabf
%O 2,1
%A _Emeric Deutsch_, May 05 2007
%E More terms from _R. J. Mathar_, Oct 11 2007