login
Minimum difference |product(A) - product(B)| where A and B are a partition of {1,2,3,...,2*n} and |A| = |B| = n.
2

%I #29 Sep 22 2025 16:01:35

%S 0,1,2,6,18,30,576,840,24480,93696,800640,7983360,65318400,2286926400,

%T 13680979200,797369149440,16753029012720,10176199188480,

%U 159943859712000,26453863460044800,470500040794291200,20720967220237197312,61690805562507264000

%N Minimum difference |product(A) - product(B)| where A and B are a partition of {1,2,3,...,2*n} and |A| = |B| = n.

%C a(n) >= A038667(2*n).

%C Conjecture: a(n) = A038667(2*n) for all n. It is verified for n<=70. - _Max Alekseyev_, Jun 18 2022

%C Bernardo Recamán Santos proposes that this should be called Luciana's sequence for the student whose question prompted its investigation. (See MathOverflow link below.)

%H Max Alekseyev, <a href="/A352813/b352813.txt">Table of n, a(n) for n = 0..70</a>

%H Gordon Hamilton, <a href="https://mathpickle.com/project/thirsty-fractions/">Thirsty Fractions</a>, MathPickle, 2013, for elementary and middle school teachers.

%H MathOverflow discussion <a href="https://mathoverflow.net/q/419319">Splitting the integers from 1 to 2n into two sets with products as close as possible</a>.

%e For n = 4, the partition A = {1,5,6,7} and B = {2,3,4,8} is optimal, giving difference 1*5*6*7 - 2*3*4*8 = 18.

%e _Rob Pratt_ computed the optimal solutions for n <= 10:

%e [ n] a(n) partitions of 2n

%e ------------------------------------------------------------------

%e [ 1] 1 2 | 1

%e [ 2] 2 2,3 | 1,4

%e [ 3] 6 1,5,6 | 2,3,4

%e [ 4] 18 1,5,6,7 | 2,3,4,8

%e [ 5] 30 2,3,4,8,10 | 1,5,6,7,9

%e [ 6] 576 1,4,7,8,9,11 | 2,3,5,6,10,12

%e [ 7] 840 2,4,5,6,8,11,14 | 1,3,7,9,10,12,13

%e [ 8] 24480 1,5,6,7,8,13,14,15 | 2,3,4,9,10,11,12,16

%e [ 9] 93696 2,3,6,8,9,11,12,13,18 | 1,4,5,7,10,14,15,16,17

%e [10] 800640 2,3,4,8,9,11,12,18,19,20 | 1,5,6,7,10,13,14,15,16,17

%o (SageMath)

%o def A352813(n):

%o return min(abs(prod(A)-prod(B)) for (A,B) in SetPartitions((1..2*n), [n,n]))

%o [A352813(n) for n in (1..10)] # _Freddy Barrera_, Apr 05 2022

%o (Python)

%o from math import prod, factorial

%o from itertools import combinations

%o def A352813(n):

%o m = factorial(2*n)

%o return 0 if n == 0 else min(abs((p:=prod(d))-m//p) for d in combinations(range(2,2*n+1),n-1)) # _Chai Wah Wu_, Apr 06 2022

%Y Cf. A061057, A038667.

%K nonn

%O 0,3

%A _Peter J. Taylor_, Apr 04 2022