У меня есть математическая проблема, которая идет следующим образом:
У меня есть контейнер, который содержит в общей сложности 21 000 килограммов. У меня есть 4 объекта A, B, C, D.
Объект веса 1 килограмм. Объект B веса 4 килограмма. Объект C вес 5 килограммов. Объект D веса 5 килограммов также.
Я ищу алгоритм, который выполнит итерации через все возможные комбинации, сохраняющие вышеупомянутое уравнение. например:
{20000, 0, 0, 200}-> 20000*1 + 0*4 + 0*5 + 200*5 = 21 000 килограммов.
{19996, 1, 0, 200}-> 19996*1 + 1*4 + 0*5 + 200*5 = 21 000 килограммов.
Это очень похоже на пример «Подсчет изменений» из SICP. См .:
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_sec_1.2.2
Пример: подсчет изменений