Показать сообщение отдельно
  #7  
Старый 21.04.2015, 10:10
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
Восклицание

M.A.D.M.A.N., это, я так понимаю метод перебора что бы сумма цифр не превышала заданную. Но опять таки, все цифры используются только 1 раз,.. а по условию количество цифр одного номинала может быть больше чем одна.
Задача по сути аналогична "размену монет":
Требуется выдать сдачу в 24 гнубля, имеются монеты номиналом 1,5,7 гнублей.
Нужно получить варианты - как выдать требуемую сумму,..
Варианты:
1*24(шт.)
7*3(шт.)+1*3(шт.)
7*2(шт.)+5*2(шт.)
Но как я понял, получить универсальный алгоритм, который сможет выдать все возможные варианты, за приемлемое время - невозможно, т.к. если использовать алгоритмы вычитания и кратности, с проверкой на остаток, и т.д. и т.п. - Да, все они работают, но выдают в разных случаях, разные результаты. И этих алгоритмов я уже напридумывал с десяток, а если их смешивать между собой, - то время выполнения приближается к такому же, что дает тупой перебор и всё-равно некоторые варианты не находит. Тема конечно интересная, но 100% результат дает только тупой перебор.
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием