1-й из всех: я не программист, никогда не изучал программирование / алгоритмы.
На самом деле я должен программировать, в основном в awk или ruby, в некотором bash.
В сегодняшней задаче у меня есть огромный набор данных (числа с плавающей точкой) в текстовом файле, одна запись / строка и сумма всех чисел набора, но сумма неверна, потому что некоторые числа ( может быть только один) в наборе отрицательный, но мы не можем увидеть его в файле (нет признака, если элемент отрицательный).
Но я должен найти их / их: поэтому сначала я вычислил правильную общую сумму (с добавлением всех чисел с 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, shell, но и python, и perl приемлемы (без интенсивного использования внешних библиотек, поскольку я не имею права их устанавливать).
Заранее спасибо.