%I #39 Jun 09 2024 11:16:19
%S 0,0,1,1,3,10,52,459,1271,10094,63133,547565,4431517,42046100,
%T 400782747,8711476734
%N Number of permutations of {1, 2, 3, ..., n} that result in a final value of 0 by repeatedly iterating the process of "subtracting if the next item is greater or equal, otherwise adding" until there's only one number left.
%C Let x_0 be a permutation on {1, 2, 3, ..., n}. Let x_k(i) be a function defined when 0 < i <= n - k that is constructed as follows:
%C If x_k(i + 1) >= x_k(i), then x_{k+1}(i) = x_k(i + 1) - x_k(i).
%C Otherwise, x_{k+1}(i) = x_k(i + 1) + x_k(i).
%C a(n) is the number of permutations x_0 that satisfy x_{n-1}(1) = 0.
%C Comments from _Olivier GĂ©rard_, Jun 04 2024 (Start)
%C The sequence of number of different values is:
%C 1, 2, 4, 9, 32, 75, 179, 230, 933
%C The sequence of maxima of this process is A001792:
%C 1, 3, 8, 20, 48, 112, 256, 576, 1280
%C Indeed, the maxima is attained only once and always for the last permutation in lexicographic order : n, n-1, n-2, ..., 1 (End).
%e For n=5, one of the a(5) = 3 solutions is (1, 4, 5, 2, 3), whose trajectory to 0 is
%e 1 4 5 2 3
%e 3 1 7 1
%e 4 6 8
%e 2 2
%e 0
%o (Python)
%o from itertools import permutations
%o def f(t):
%o if len(t) == 1: return t[0]
%o return f([t[i]+t[i+1] if t[i+1]<t[i] else t[i+1]-t[i] for i in range(len(t)-1)])
%o def a(n): return sum(1 for p in permutations(range(1, n+1)) if f(p) == 0)
%o print([a(n) for n in range(1, 10)]) # _Michael S. Branicky_, May 30 2024
%Y Cf. A001792, A131502.
%K nonn,nice,hard,more
%O 1,5
%A _Bryle Morga_, May 30 2024
%E a(12)-a(13) from _Michael S. Branicky_, May 30 2024
%E a(14)-a(16) from _Bert Dobbelaere_, Jun 09 2024