我想将一个大小为 n 的整数数组消除为两个数字,只需将两个以上的数字相乘即可。这两个数(M1 和 M2)的条件是 M1-M2 相减的结果是其他可能情况中的较小值。以下示例更详细地说明了该问题:
假设数组的大小为 4,元素为 [n1,n2,n3,n4]
可能的消除是:
M1 = n1 和 M2 = n2xn3xn4
M1 = n2 和M2 = n1xn3xn4
M1 = n3 和M2 = n1xn2xn4
M1 = n4 和M2 = n1xn2xn3
M1 = n1xn2 和M2 = n3xn4
M1 = n1xn3 和M2 = n2xn4
M1 = n1xn4 和M2 = n2xn3
M1 = n2xn3 和M2 = n1xn4
M1 = n2xn4 和M2 = n1xn3
M1 = n3xn4 和M2 = n1xn2
在这个例子中, M1和M2有十个可能的值,我在我的问题中想要的正确值是 ABS( M1 - M2 ) 在其他九个值中的最小值。它们有可能不止一个正确答案(类似),但这可以忽略,我想要的输出是M1的一个值和M2的一个值
注意:如果它是在 C++ 中,我将不胜感激 :)
提前致谢...