Имя: Пароль:
1C
 
Получить из списка N чисел, сумму максимально приближенную к необх.
0 Dmi3y
 
17.07.08
10:38
Добрый день!
Такая задачка, есть некий список цифер (например 25 значений), есть необходимое число (например 1000), суть задачи: необходимо просуммировав все 25 значений в различных вариантах (1+2, 1+3, 1+2+3 2+3 ....) выбрать сумму наиболее приблеженную к заданной (1000).
С помощью рекурсии с прекращением оной, если сумма превысыла 1000 сейчас  считает, считает ооооочень долго, мож кто чего подскажет ?
1 Яндекс
 
17.07.08
10:51
думаю суть проста...

берешь первое число и складываешь по очереди со всеми остальными... находишь максимальную сумму которая не превышает заданаую... выкидываешь 1 и энное... и повторяешь пока результат не достигнет нужной суммы..

для более правильного нахождения данное повторить для всех чисел входящих в список...

в результате находишь минимальное количество чисел сумма которых дает заданную сумму
2 Zmich
 
17.07.08
10:52
(0). Было что-то похожее, попробуй посмотреть тут:
Нужен алгоритм набора нужной суммы
3 Dmi3y
 
17.07.08
10:58
Эта, спасибо товарищи!:)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший