我有一个8 int,4 positive和4 negative的数组。
X [10,-2,30,-4,5,-20,8,-9]
现在,让
Evaluated = a-b+c-d+e-f+g-h
其中a,b..h是取自X的唯一值。 我需要确保
案例1.评估=最接近零 案例2.通过解决Evaluated来列出最大的可能性。 我可以通过对数组进行排序并将最大值分配给a,c,e和g以及最小值b,d,f和h来找到最大值。但是如何找到接下来的4个值?
有8个!解决这个等式的方法对吗?
确定此解决方案的最佳方法是什么?
答案 0 :(得分:5)
确保负值为正号,正值为负号。您将获得尽可能小的价值。你甚至不需要排序。
一种简单的做法是......
Loop Each Element of X
if X[i] > 0 Then X[i] = -1 * X[i]
End Loop
Add all elements of X (yes just don't think about subtracting, just add)
结果总和是可能的最小值。
答案 1 :(得分:1)
只需选择a,c,e,g作为最小值,其余为最大值。
Excel中的函数Small
可能会对您有所帮助。
答案 2 :(得分:1)
如果我正确理解了这个问题,你就有一个包含八个数字的数组。您想要选择要添加的四个数字,并选择四个要减去的数字以获得尽可能小的结果。我将按如下方式进行:
这将通过添加四个值并减去八个数组中的剩余值来为您提供最小的结果。