第一に、私はプログラマーではなく、プログラミングやアルゴリズムを学んだことがありません。実際には、ほとんど awk または ruby で、いくつかの bash をプログラムする必要があります。
今日のタスクでは、プレーン テキスト ファイルに巨大なデータ セット (浮動小数点数) があり、1 つのレコード/行があり、セットのすべての数値の合計がありますが、数値の一部 ( 1 つ) は負ですが、ファイルには表示されません (要素が負の場合は符号がありません)。
しかし、私はそれ/それらを見つけなければなりません:最初に正しい合計を計算しました( ですべての数字を追加してawk
)、それらの符号は気にしませんでした。ここで、元の合計 (記号を考慮したもの) と新しい合計の差がわかりました。しかし、差分/2 のようにまったく同じ合計を持つデータセットのすべてのサブセットを見つける必要があります。
例えば:
DATA:
1,2,3,4,5
ORIG SUM:
5
これで、1+2+3+4+5 - ORIG SUM: 15-5=10 の差を計算できます。10/2 = 5 なので、合計が 5 になるすべてのサブセット、つまり [1,4]、[2,3]、[5] を見つける必要があります。
それを行う適切な方法はありますか?私は awk、ruby、シェル スクリプトを好みますが、python と perl の両方を使用できます (外部ライブラリをインストールする権利がないため、外部ライブラリを頻繁に使用する必要はありません)。
前もって感謝します。