login
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.
0

%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