![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Помогите хотя бы понять логику.
есть числа: "1" в количестве n1 шт. "2" в количестве n2 шт. "5" в количестве n5 шт. "6" в количестве n6 шт. "10" в количестве n10 шт. "15" в количестве n15 шт. "20" в количестве n20 шт. количество может быть равным 0, могут быть и другие "числа". Как узнать какие числа и в каком количестве из данных нужно сложить что бы получить определённое число, например 33. Програмистами не рождаются, ими становятся! |
#2
|
||||
|
||||
![]() 32+1=33
31+2=33 … 1+32=33 — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
![]() Не совсем.
33=10+10+5+5+2+1 Вот мне и надо что бы результатом выполнения было, что из заданных чисел нужно, 2 по 10, 2 по 5, 1 по 2, 1 по 1. (к примеру) Програмистами не рождаются, ими становятся! |
#4
|
||||
|
||||
![]() Как вариант. Ну или брутфорсить вычитанием.
jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
||||
|
||||
![]() Цитата:
Я пол дня голову ломал, придумал алгоритм, вроде даже работает. Может статья поможет оптимизировать. Програмистами не рождаются, ими становятся! |
#6
|
||||
|
||||
![]() Код:
let solve s n m = (take n $ enumFrom 1) >>= \x -> (filter (\y -> ((length $ nub y) == x) && (sum y == s)) $ replicateM x m) Prelude Data.List Control.Monad> solve 33 5 [1,2,5,6,10,15,20] Результат: Код:
[[1,2,10,20],[1,2,20,10],[1,10,2,20],[1,10,20,2],[1,20,2,10],[1,20,10,2],[2,1,10,20],[2,1,20,10],[2,5,6,20],[2,5,20,6],[2,6,5,20],[2,6,10,15],[2,6,15,10],[2,6,20,5],[2,10,1,20],[2,10,6,15],[2,10,15,6],[2,10,20,1],[2,15,6,10],[2,15,10,6],[2,20,1,10],[2,20,5,6],[2,20,6,5],[2,20,10,1],[5,2,6,20],[5,2,2 0,6],[5,6,2,20],[5,6,20,2],[5,20,2,6],[5,20,6,2],[6,2,5,20],[6,2,10,15],[6,2,15,10],[6,2,20,5],[6,5,2,20],[6,5,20,2],[6,10,2,15],[6,10,15,2],[6,15,2,10],[6,15,10,2],[6,20,2,5],[6,20,5,2],[10,1,2,20],[10,1,20,2],[10,2,1,20],[10,2,6,15],[10,2,15,6],[10,2,20,1],[10,6,2,15],[10,6,15,2],[10,15,2,6],[10,1 5,6,2],[10,20,1,2],[10,20,2,1],[15,2,6,10],[15,2,10,6],[15,6,2,10],[15,6,10,2],[15,10,2,6],[15,10,6,2],[20,1,2,10],[20,1,10,2],[20,2,1,10],[20,2,5,6],[20,2,6,5],[20,2,10,1],[20,5,2,6],[20,5,6,2],[20,6,2,5],[20,6,5,2],[20,10,1,2],[20,10,2,1],[1,2,5,10,15],[1,2,5,15,10],[1,2,10,5,15],[1,2,10,15,5],[1, 2,15,5,10],[1,2,15,10,5],[1,5,2,10,15],[1,5,2,15,10],[1,5,10,2,15],[1,5,10,15,2],[1,5,15,2,10],[1,5,15,10,2],[1,10,2,5,15],[1,10,2,15,5],[1,10,5,2,15],[1,10,5,15,2],[1,10,15,2,5],[1,10,15,5,2],[1,15,2,5,10],[1,15,2,10,5],[1,15,5,2,10],[1,15,5,10,2],[1,15,10,2,5],[1,15,10,5,2],[2,1,5,10,15],[2,1,5,15 ,10],[2,1,10,5,15],[2,1,10,15,5],[2,1,15,5,10],[2,1,15,10,5],[2,5,1,10,15],[2,5,1,15,10],[2,5,10,1,15],[2,5,10,15,1],[2,5,15,1,10],[2,5,15,10,1],[2,10,1,5,15],[2,10,1,15,5],[2,10,5,1,15],[2,10,5,15,1],[2,10,15,1,5],[2,10,15,5,1],[2,15,1,5,10],[2,15,1,10,5],[2,15,5,1,10],[2,15,5,10,1],[2,15,10,1,5],[ 2,15,10,5,1],[5,1,2,10,15],[5,1,2,15,10],[5,1,10,2,15],[5,1,10,15,2],[5,1,15,2,10],[5,1,15,10,2],[5,2,1,10,15],[5,2,1,15,10],[5,2,10,1,15],[5,2,10,15,1],[5,2,15,1,10],[5,2,15,10,1],[5,10,1,2,15],[5,10,1,15,2],[5,10,2,1,15],[5,10,2,15,1],[5,10,15,1,2],[5,10,15,2,1],[5,15,1,2,10],[5,15,1,10,2],[5,15,2 ,1,10],[5,15,2,10,1],[5,15,10,1,2],[5,15,10,2,1],[10,1,2,5,15],[10,1,2,15,5],[10,1,5,2,15],[10,1,5,15,2],[10,1,15,2,5],[10,1,15,5,2],[10,2,1,5,15],[10,2,1,15,5],[10,2,5,1,15],[10,2,5,15,1],[10,2,15,1,5],[10,2,15,5,1],[10,5,1,2,15],[10,5,1,15,2],[10,5,2,1,15],[10,5,2,15,1],[10,5,15,1,2],[10,5,15,2,1] ,[10,15,1,2,5],[10,15,1,5,2],[10,15,2,1,5],[10,15,2,5,1],[10,15,5,1,2],[10,15,5,2,1],[15,1,2,5,10],[15,1,2,10,5],[15,1,5,2,10],[15,1,5,10,2],[15,1,10,2,5],[15,1,10,5,2],[15,2,1,5,10],[15,2,1,10,5],[15,2,5,1,10],[15,2,5,10,1],[15,2,10,1,5],[15,2,10,5,1],[15,5,1,2,10],[15,5,1,10,2],[15,5,2,1,10],[15,5 ,2,10,1],[15,5,10,1,2],[15,5,10,2,1],[15,10,1,2,5],[15,10,1,5,2],[15,10,2,1,5],[15,10,2,5,1],[15,10,5,1,2],[15,10,5,2,1]] — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 21.04.2015 в 08:39. |
#7
|
||||
|
||||
![]() M.A.D.M.A.N., это, я так понимаю метод перебора что бы сумма цифр не превышала заданную. Но опять таки, все цифры используются только 1 раз,.. а по условию количество цифр одного номинала может быть больше чем одна.
Задача по сути аналогична "размену монет": Требуется выдать сдачу в 24 гнубля, имеются монеты номиналом 1,5,7 гнублей. Нужно получить варианты - как выдать требуемую сумму,.. Варианты: 1*24(шт.) 7*3(шт.)+1*3(шт.) 7*2(шт.)+5*2(шт.) Но как я понял, получить универсальный алгоритм, который сможет выдать все возможные варианты, за приемлемое время - невозможно, т.к. если использовать алгоритмы вычитания и кратности, с проверкой на остаток, и т.д. и т.п. - Да, все они работают, но выдают в разных случаях, разные результаты. И этих алгоритмов я уже напридумывал с десяток, а если их смешивать между собой, - то время выполнения приближается к такому же, что дает тупой перебор и всё-равно некоторые варианты не находит. Тема конечно интересная, но 100% результат дает только тупой перебор. Програмистами не рождаются, ими становятся! |
#8
|
||||
|
||||
![]() Убери «((length $ nub y) == x)» и будет использование чисел по несколько раз (это я под «задачу о рюкзаке» подвел).
Код:
Prelude Data.List Control.Monad> let solve s n m = (take n $ enumFrom 1) >>= \x -> (filter (\y -> sum y == s) $ replicateM x m) Prelude Data.List Control.Monad> solve 33 5 [1,2,5,6,10,15,20] [[1,2,10,20],[1,2,15,15],[1,2,20,10],[1,6,6,20],[1,6,20,6],[1,10,2,20],[1,10,20,2],[1,15,2,15],[1,15,15,2],[1,20,2,10],[1,20,6,6],[1,20,10,2],[2,1,10,20],[2,1,15,15],[2,1,20,10],[2,5,6,20],[2,5,20,6],[2,6,5,20],[2,6,10,15],[2,6,15,10],[2,6,20,5],[2,10,1,20],[2,10,6,15],[2,10,15,6],[2,10,20,1],[2,15, 1,15],[2,15,6,10],[2,15,10,6],[2,15,15,1],[2,20,1,10],[2,20,5,6],[2,20,6,5],[2,20,10,1],[5,2,6,20],[5,2,20,6],[5,6,2,20],[5,6,20,2],[5,20,2,6],[5,20,6,2],[6,1,6,20],[6,1,20,6],[6,2,5,20],[6,2,10,15],[6,2,15,10],[6,2,20,5],[6,5,2,20],[6,5,20,2],[6,6,1,20],[6,6,6,15],[6,6,15,6],[6,6,20,1],[6,10,2,15], [6,10,15,2],[6,15,2,10],[6,15,6,6],[6,15,10,2],[6,20,1,6],[6,20,2,5],[6,20,5,2],[6,20,6,1],[10,1,2,20],[10,1,20,2],[10,2,1,20],[10,2,6,15],[10,2,15,6],[10,2,20,1],[10,6,2,15],[10,6,15,2],[10,15,2,6],[10,15,6,2],[10,20,1,2],[10,20,2,1],[15,1,2,15],[15,1,15,2],[15,2,1,15],[15,2,6,10],[15,2,10,6],[15,2 ,15,1],[15,6,2,10],[15,6,6,6],[15,6,10,2],[15,10,2,6],[15,10,6,2],[15,15,1,2],[15,15,2,1],[20,1,2,10],[20,1,6,6],[20,1,10,2],[20,2,1,10],[20,2,5,6],[20,2,6,5],[20,2,10,1],[20,5,2,6],[20,5,6,2],[20,6,1,6],[20,6,2,5],[20,6,5,2],[20,6,6,1],[20,10,1,2],[20,10,2,1],[1,1,1,10,20],[1,1,1,15,15],[1,1,1,20,1 0],[1,1,5,6,20],[1,1,5,20,6],[1,1,6,5,20],[1,1,6,10,15],[1,1,6,15,10],[1,1,6,20,5],[1,1,10,1,20],[1,1,10,6,15],[1,1,10,15,6],[1,1,10,20,1],[1,1,15,1,15],[1,1,15,6,10],[1,1,15,10,6],[1,1,15,15,1],[1,1,20,1,10],[1,1,20,5,6],[1,1,20,6,5],[1,1,20,10,1],[1,2,5,5,20],[1,2,5,10,15],[1,2,5,15,10],[1,2,5,20, 5],[1,2,10,5,15],[1,2,10,10,10],[1,2,10,15,5],[1,2,15,5,10],[1,2,15,10,5],[1,2,20,5,5],[1,5,1,6,20],[1,5,1,20,6],[1,5,2,5,20],[1,5,2,10,15],[1,5,2,15,10],[1,5,2,20,5],[1,5,5,2,20],[1,5,5,20,2],[1,5,6,1,20],[1,5,6,6,15],[1,5,6,15,6],[1,5,6,20,1],[1,5,10,2,15],[1,5,10,15,2],[1,5,15,2,10],[1,5,15,6,6], [1,5,15,10,2],[1,5,20,1,6],[1,5,20,2,5],[1,5,20,5,2],[1,5,20,6,1],[1,6,1,5,20],[1,6,1,10,15],[1,6,1,15,10],[1,6,1,20,5],[1,6,5,1,20],[1,6,5,6,15],[1,6,5,15,6],[1,6,5,20,1],[1,6,6,5,15],[1,6,6,10,10],[1,6,6,15,5],[1,6,10,1,15],[1,6,10,6,10],[1,6,10,10,6],[1,6,10,15,1],[1,6,15,1,10],[1,6,15,5,6],[1,6, 15,6,5],[1,6,15,10,1],[1,6,20,1,5],[1,6,20,5,1],[1,10,1,1,20],[1,10,1,6,15],[1,10,1,15,6],[1,10,1,20,1],[1,10,2,5,15],[1,10,2,10,10],[1,10,2,15,5],[1,10,5,2,15],[1,10,5,15,2],[1,10,6,1,15],[1,10,6,6,10],[1,10,6,10,6],[1,10,6,15,1],[1,10,10,2,10],[1,10,10,6,6],[1,10,10,10,2],[1,10,15,1,6],[1,10,15,2, 5],[1,10,15,5,2],[1,10,15,6,1],[1,10,20,1,1],[1,15,1,1,15],[1,15,1,6,10],[1,15,1,10,6],[1,15,1,15,1],[1,15,2,5,10],[1,15,2,10,5],[1,15,5,2,10],[1,15,5,6,6],[1,15,5,10,2],[1,15,6,1,10],[1,15,6,5,6],[1,15,6,6,5],[1,15,6,10,1],[1,15,10,1,6],[1,15,10,2,5],[1,15,10,5,2],[1,15,10,6,1],[1,15,15,1,1],[1,20, 1,1,10],[1,20,1,5,6],[1,20,1,6,5],[1,20,1,10,1],[1,20,2,5,5],[1,20,5,1,6],[1,20,5,2,5],[1,20,5,5,2],[1,20,5,6,1],[1,20,6,1,5],[1,20,6,5,1],[1,20,10,1,1],[2,1,5,5,20],[2,1,5,10,15],[2,1,5,15,10],[2,1,5,20,5],[2,1,10,5,15],[2,1,10,10,10],[2,1,10,15,5],[2,1,15,5,10],[2,1,15,10,5],[2,1,20,5,5],[2,5,1,5, 20],[2,5,1,10,15],[2,5,1,15,10],[2,5,1,20,5],[2,5,5,1,20],[2,5,5,6,15],[2,5,5,15,6],[2,5,5,20,1],[2,5,6,5,15],[2,5,6,10,10],[2,5,6,15,5],[2,5,10,1,15],[2,5,10,6,10],[2,5,10,10,6],[2,5,10,15,1],[2,5,15,1,10],[2,5,15,5,6],[2,5,15,6,5],[2,5,15,10,1],[2,5,20,1,5],[2,5,20,5,1],[2,6,5,5,15],[2,6,5,10,10], [2,6,5,15,5],[2,6,10,5,10],[2,6,10,10,5],[2,6,15,5,5],[2,10,1,5,15],[2,10,1,10,10],[2,10,1,15,5],[2,10,5,1,15],[2,10,5,6,10],[2,10,5,10,6],[2,10,5,15,1],[2,10,6,5,10],[2,10,6,10,5],[2,10,10,1,10],[2,10,10,5,6],[2,10,10,6,5],[2,10,10,10,1],[2,10,15,1,5],[2,10,15,5,1],[2,15,1,5,10],[2,15,1,10,5],[2,15 ,5,1,10],[2,15,5,5,6],[2,15,5,6,5],[2,15,5,10,1],[2,15,6,5,5],[2,15,10,1,5],[2,15,10,5,1],[2,20,1,5,5],[2,20,5,1,5],[2,20,5,5,1],[5,1,1,6,20],[5,1,1,20,6],[5,1,2,5,20],[5,1,2,10,15],[5,1,2,15,10],[5,1,2,20,5],[5,1,5,2,20],[5,1,5,20,2],[5,1,6,1,20],[5,1,6,6,15],[5,1,6,15,6],[5,1,6,20,1],[5,1,10,2,15] ,[5,1,10,15,2],[5,1,15,2,10],[5,1,15,6,6],[5,1,15,10,2],[5,1,20,1,6],[5,1,20,2,5],[5,1,20,5,2],[5,1,20,6,1],[5,2,1,5,20],[5,2,1,10,15],[5,2,1,15,10],[5,2,1,20,5],[5,2,5,1,20],[5,2,5,6,15],[5,2,5,15,6],[5,2,5,20,1],[5,2,6,5,15],[5,2,6,10,10],[5,2,6,15,5],[5,2,10,1,15],[5,2,10,6,10],[5,2,10,10,6],[5,2 ,10,15,1],[5,2,15,1,10],[5,2,15,5,6],[5,2,15,6,5],[5,2,15,10,1],[5,2,20,1,5],[5,2,20,5,1],[5,5,1,2,20],[5,5,1,20,2],[5,5,2,1,20],[5,5,2,6,15],[5,5,2,15,6],[5,5,2,20,1],[5,5,6,2,15],[5,5,6,15,2],[5,5,15,2,6],[5,5,15,6,2],[5,5,20,1,2],[5,5,20,2,1],[5,6,1,1,20],[5,6,1,6,15],[5,6,1,15,6],[5,6,1,20,1],[5 ,6,2,5,15],[5,6,2,10,10],[5,6,2,15,5],[5,6,5,2,15],[5,6,5,15,2],[5,6,6,1,15],[5,6,6,6,10],[5,6,6,10,6],[5,6,6,15,1],[5,6,10,2,10],[5,6,10,6,6],[5,6,10,10,2],[5,6,15,1,6],[5,6,15,2,5],[5,6,15,5,2],[5,6,15,6,1],[5,6,20,1,1],[5,10,1,2,15],[5,10,1,15,2],[5,10,2,1,15],[5,10,2,6,10],[5,10,2,10,6],[5,10,2, 15,1],[5,10,6,2,10],[5,10,6,6,6],[5,10,6,10,2],[5,10,10,2,6],[5,10,10,6,2],[5,10,15,1,2],[5,10,15,2,1],[5,15,1,2,10],[5,15,1,6,6],[5,15,1,10,2],[5,15,2,1,10],[5,15,2,5,6],[5,15,2,6,5],[5,15,2,10,1],[5,15,5,2,6],[5,15,5,6,2],[5,15,6,1,6],[5,15,6,2,5],[5,15,6,5,2],[5,15,6,6,1],[5,15,10,1,2],[5,15,10,2 ,1],[5,20,1,1,6],[5,20,1,2,5],[5,20,1,5,2],[5,20,1,6,1],[5,20,2,1,5],[5,20,2,5,1],[5,20,5,1,2],[5,20,5,2,1],[5,20,6,1,1],[6,1,1,5,20],[6,1,1,10,15],[6,1,1,15,10],[6,1,1,20,5],[6,1,5,1,20],[6,1,5,6,15],[6,1,5,15,6],[6,1,5,20,1],[6,1,6,5,15],[6,1,6,10,10],[6,1,6,15,5],[6,1,10,1,15],[6,1,10,6,10],[6,1, 10,10,6],[6,1,10,15,1],[6,1,15,1,10],[6,1,15,5,6],[6,1,15,6,5],[6,1,15,10,1],[6,1,20,1,5],[6,1,20,5,1],[6,2,5,5,15],[6,2,5,10,10],[6,2,5,15,5],[6,2,10,5,10],[6,2,10,10,5],[6,2,15,5,5],[6,5,1,1,20],[6,5,1,6,15],[6,5,1,15,6],[6,5,1,20,1],[6,5,2,5,15],[6,5,2,10,10],[6,5,2,15,5],[6,5,5,2,15],[6,5,5,15,2 ],[6,5,6,1,15],[6,5,6,6,10],[6,5,6,10,6],[6,5,6,15,1],[6,5,10,2,10],[6,5,10,6,6],[6,5,10,10,2],[6,5,15,1,6],[6,5,15,2,5],[6,5,15,5,2],[6,5,15,6,1],[6,5,20,1,1],[6,6,1,5,15],[6,6,1,10,10],[6,6,1,15,5],[6,6,5,1,15],[6,6,5,6,10],[6,6,5,10,6],[6,6,5,15,1],[6,6,6,5,10],[6,6,6,10,5],[6,6,10,1,10],[6,6,10, 5,6],[6,6,10,6,5],[6,6,10,10,1],[6,6,15,1,5],[6,6,15,5,1],[6,10,1,1,15],[6,10,1,6,10],[6,10,1,10,6],[6,10,1,15,1],[6,10,2,5,10],[6,10,2,10,5],[6,10,5,2,10],[6,10,5,6,6],[6,10,5,10,2],[6,10,6,1,10],[6,10,6,5,6],[6,10,6,6,5],[6,10,6,10,1],[6,10,10,1,6],[6,10,10,2,5],[6,10,10,5,2],[6,10,10,6,1],[6,10,1 5,1,1],[6,15,1,1,10],[6,15,1,5,6],[6,15,1,6,5],[6,15,1,10,1],[6,15,2,5,5],[6,15,5,1,6],[6,15,5,2,5],[6,15,5,5,2],[6,15,5,6,1],[6,15,6,1,5],[6,15,6,5,1],[6,15,10,1,1],[6,20,1,1,5],[6,20,1,5,1],[6,20,5,1,1],[10,1,1,1,20],[10,1,1,6,15],[10,1,1,15,6],[10,1,1,20,1],[10,1,2,5,15],[10,1,2,10,10],[10,1,2,15 ,5],[10,1,5,2,15],[10,1,5,15,2],[10,1,6,1,15],[10,1,6,6,10],[10,1,6,10,6],[10,1,6,15,1],[10,1,10,2,10],[10,1,10,6,6],[10,1,10,10,2],[10,1,15,1,6],[10,1,15,2,5],[10,1,15,5,2],[10,1,15,6,1],[10,1,20,1,1],[10,2,1,5,15],[10,2,1,10,10],[10,2,1,15,5],[10,2,5,1,15],[10,2,5,6,10],[10,2,5,10,6],[10,2,5,15,1] ,[10,2,6,5,10],[10,2,6,10,5],[10,2,10,1,10],[10,2,10,5,6],[10,2,10,6,5],[10,2,10,10,1],[10,2,15,1,5],[10,2,15,5,1],[10,5,1,2,15],[10,5,1,15,2],[10,5,2,1,15],[10,5,2,6,10],[10,5,2,10,6],[10,5,2,15,1],[10,5,6,2,10],[10,5,6,6,6],[10,5,6,10,2],[10,5,10,2,6],[10,5,10,6,2],[10,5,15,1,2],[10,5,15,2,1],[10, 6,1,1,15],[10,6,1,6,10],[10,6,1,10,6],[10,6,1,15,1],[10,6,2,5,10],[10,6,2,10,5],[10,6,5,2,10],[10,6,5,6,6],[10,6,5,10,2],[10,6,6,1,10],[10,6,6,5,6],[10,6,6,6,5],[10,6,6,10,1],[10,6,10,1,6],[10,6,10,2,5],[10,6,10,5,2],[10,6,10,6,1],[10,6,15,1,1],[10,10,1,2,10],[10,10,1,6,6],[10,10,1,10,2],[10,10,2,1, 10],[10,10,2,5,6],[10,10,2,6,5],[10,10,2,10,1],[10,10,5,2,6],[10,10,5,6,2],[10,10,6,1,6],[10,10,6,2,5],[10,10,6,5,2],[10,10,6,6,1],[10,10,10,1,2],[10,10,10,2,1],[10,15,1,1,6],[10,15,1,2,5],[10,15,1,5,2],[10,15,1,6,1],[10,15,2,1,5],[10,15,2,5,1],[10,15,5,1,2],[10,15,5,2,1],[10,15,6,1,1],[10,20,1,1,1] ,[15,1,1,1,15],[15,1,1,6,10],[15,1,1,10,6],[15,1,1,15,1],[15,1,2,5,10],[15,1,2,10,5],[15,1,5,2,10],[15,1,5,6,6],[15,1,5,10,2],[15,1,6,1,10],[15,1,6,5,6],[15,1,6,6,5],[15,1,6,10,1],[15,1,10,1,6],[15,1,10,2,5],[15,1,10,5,2],[15,1,10,6,1],[15,1,15,1,1],[15,2,1,5,10],[15,2,1,10,5],[15,2,5,1,10],[15,2,5, 5,6],[15,2,5,6,5],[15,2,5,10,1],[15,2,6,5,5],[15,2,10,1,5],[15,2,10,5,1],[15,5,1,2,10],[15,5,1,6,6],[15,5,1,10,2],[15,5,2,1,10],[15,5,2,5,6],[15,5,2,6,5],[15,5,2,10,1],[15,5,5,2,6],[15,5,5,6,2],[15,5,6,1,6],[15,5,6,2,5],[15,5,6,5,2],[15,5,6,6,1],[15,5,10,1,2],[15,5,10,2,1],[15,6,1,1,10],[15,6,1,5,6] ,[15,6,1,6,5],[15,6,1,10,1],[15,6,2,5,5],[15,6,5,1,6],[15,6,5,2,5],[15,6,5,5,2],[15,6,5,6,1],[15,6,6,1,5],[15,6,6,5,1],[15,6,10,1,1],[15,10,1,1,6],[15,10,1,2,5],[15,10,1,5,2],[15,10,1,6,1],[15,10,2,1,5],[15,10,2,5,1],[15,10,5,1,2],[15,10,5,2,1],[15,10,6,1,1],[15,15,1,1,1],[20,1,1,1,10],[20,1,1,5,6], [20,1,1,6,5],[20,1,1,10,1],[20,1,2,5,5],[20,1,5,1,6],[20,1,5,2,5],[20,1,5,5,2],[20,1,5,6,1],[20,1,6,1,5],[20,1,6,5,1],[20,1,10,1,1],[20,2,1,5,5],[20,2,5,1,5],[20,2,5,5,1],[20,5,1,1,6],[20,5,1,2,5],[20,5,1,5,2],[20,5,1,6,1],[20,5,2,1,5],[20,5,2,5,1],[20,5,5,1,2],[20,5,5,2,1],[20,5,6,1,1],[20,6,1,1,5] ,[20,6,1,5,1],[20,6,5,1,1],[20,10,1,1,1]] — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#9
|
||||
|
||||
![]() Нашёл на просторах
Код:
const Coins: array[0..2] of Integer = (1,5,7); procedure Razmen(Sum, StartingCoinIndex: Integer; s: string); begin if Sum = 0 then Writeln(S) else while (Coins[StartingCoinIndex] <= Sum) and (StartingCoinIndex<=High(Coins)) do begin Razmen(Sum - Coins[StartingCoinIndex], StartingCoinIndex, s + IntToStr(Coins[StartingCoinIndex]) + ' '); Inc(StartingCoinIndex); end; end; ... Begin Razmen(24, 0, ''); Тупо всё варианты тоже перебирает, без учета глубины вложения. Програмистами не рождаются, ими становятся! |
#10
|
|||
|
|||
![]() Цитата:
|
#11
|
||||
|
||||
![]() AlexSku, там не совсем то что нужно
Програмистами не рождаются, ими становятся! |