一组数中求n个数和的绝对值最小 的算法
来源:百度知道 编辑:UC知道 时间:2024/05/17 05:34:12
如10,25,-8,-10,9中求3个数的最小的和的绝对值
|10 + -10 + -8| = 8
你的是没错。
但我要知道知道的是这种算法啊。
通用的公式
|10 + -10 + -8| = 8
你的是没错。
但我要知道知道的是这种算法啊。
通用的公式
应该是:|25+(-8)+(-10)|=7
【补充】
如果正负性都相同,就取绝对值最小的3个数字即可;
如果即有正数也有负数,分成正负两组,
先循环依次取两个正数的和(如a+b=c),对每个结果c继续判断与其绝对值最接近的两个负数(如|d|<c和|e|>c)分别相加的和(如c+d,c+e),取其中绝对值最小的。
再依次取两个负数的和,用相同的方法。
全部遍历之后得到最小的绝对值。