-1

私は8つのint、4つの正と4つの負の配列を持っています。

X [10,-2,30,-4,5,-20,8,-9]

さあ、しましょう

Evaluated = a-b+c-d+e-f+g-h

ここで、a、b..h は X から取得した一意の値です。

ケース 1. 評価済み = ゼロに最も近い。
Case 2. Evaluated を解くことで、最も可能性の高いものを 5 つ挙げてください。配列をソートし、最大値を a、c、e、g に割り当て、最小値を b、d、f、h に割り当てることで、最大値を見つけることができます。しかし、次の 4 つの値を見つける方法は?

8つあります!この方程式を正しく解く方法は?

この解決策を決定する最良の方法は何ですか?

4

3 に答える 3

5

負の値には正の符号が付けられ、正の値には負の符号が付けられるようにしてください。可能な限り小さい値が得られます。並べ替える必要さえありません。

これを行う簡単な方法の1つは...

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)

結果の合計は可能な最小値です。

于 2013-04-30T14:09:58.173 に答える
1

a、c、e、g を 4 つの最小値として選択し、残りを最大値として選択します。

Excel の関数Smallが役立つ場合があります。

于 2013-04-30T14:07:36.783 に答える
1

私が質問を正しく理解していれば、あなたは 8 つの数字の配列を持っています。最小の結果を得るために、4 つの数値を加算し、4 つの数値を減算する必要があります。私は次のように進めます:

  1. 配列を最小から最大に並べ替えます。この記事では、これを行う 2 つの方法について説明します。あなたの例では、ソートされた配列は[-20、-9、-4、-2、5、8、10、30]になります。
  2. Add配列の最初の 4 つの値。
  3. 減算最後の 4 つの値。

これにより、8 つの配列の 4 つの値を加算し、残りの値を減算することによって可能な最小の結果が得られます。

于 2013-04-30T14:43:50.430 に答える