Let A = $\{a\_1,...,a\_n\}$ be a set of numbers. We can assume all elements of A are integers.


Is there any efficient way to partition A into two sets B = $\{b\_1,...,b\_k\}$ and C = $\{c\_1,...,c\_l\}$ such that $|(b\_1...b\_k) - (c\_1...c\_l)|$ is minimal?


Is the problem anything easier if we let A be a set of strictly positive integers? What if we only let prime numbers?



Paritioning a set of numbers A into two sets B,C so that abs(prod(B) - prod(C)) is minimal 
I suspect that it's NP-hard even to check whether you can get prod(B) - prod(C) = 0, although there's a problem with the obvious argument that I don't know off the top of my head how to fix.


"Reduction" from subset sum: If you have a set S of integers, replace each integer $k \in S$ with $2^k$. Then this new set can be partitioned into two parts with the same product iff the original set could be partitioned into two parts with the same sum.


The problem is that our new integers are exponentially large compared to the original ones, which means that this isn't actually allowed as a reduction. But I think it's morally correct, since the hardness of subset sum is controlled by the size of the set rather than the lengths of the elements.


