Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
28.11.2011, 16:46
|
|||
---|---|---|---|
|
|||
Найти все возможные комбинации |
|||
#18+
Привет всем. Задача такова: Есть определённая сумма, например 1000. И есть определенные числа, которые вводятся пользователем. Нужно вывести все возможные комбинации сумм этих чисел, чтобы равнялись 1000. Числа повторяться не могут. Все числа больше нуля. Помогите, кто соображает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.11.2011, 16:47
|
|||
---|---|---|---|
|
|||
Найти все возможные комбинации |
|||
#18+
несложно, а цель какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.11.2011, 17:08
|
|||
---|---|---|---|
|
|||
Найти все возможные комбинации |
|||
#18+
Цель: 1. бухгалтера часто подгоняют циферки под нужную сумму. 2. Вторая цель моя личная: я хотел написать рекурсию, из которой постоянно вычиталось число из суммы и т.д., если равно нулю то норм, а если <0, то нужно удалить одно число из ряда и дальше (у меня не получилось реализовать свой алгоритм). Хочу узнать верный алгоритм. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.11.2011, 18:41
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
Обычно задачу решают либо методом ветвей и границ, либо методами динамического программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.11.2011, 18:59
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
crash-mschЦель: 1. бухгалтера часто подгоняют циферки под нужную сумму. 2. Вторая цель моя личная: я хотел написать рекурсию, из которой постоянно вычиталось число из суммы и т.д., если равно нулю то норм, а если <0, то нужно удалить одно число из ряда и дальше (у меня не получилось реализовать свой алгоритм). Хочу узнать верный алгоритм.Читай учебники/методички/рефераты на тему "Задача о рюкзаке" или "Knapsack problem". Даже в Википедии есть приличные решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.11.2011, 20:50
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
авторбухгалтера часто подгоняют циферки под нужную сумму Кто бы сомневался!! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2011, 13:54
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
crash-msch.... И есть определенные числа, которые вводятся пользователем. Количество чисел фиксировано? Или определяется заранее? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2011, 22:10
|
|||
---|---|---|---|
|
|||
Найти все возможные комбинации |
|||
#18+
сами числа определённые, естественно и количество определённое. суть в том что есть платёжки. 13024 14027 72303 .... и есть сумма расхода к примеру 100000. нужно подгадать под эту сумму. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2011, 23:37
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
Так навскидку (возможно дилетантский подход, я долго не думал): Определяете наибольший платеж, который меньше заданной суммы затем, вычитаете платеж из суммы и проверяете равенство нулю остатка, если не ноль, то с остатком делаете вышеописанную операцию. Для реализации метода я бы использовал рекордсет + колекцию ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.11.2011, 23:41
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
А забыл уточнить, если остаток – платеж <0 то данный платеж для этого ряда не подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2011, 00:08
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
TpaBkaТак навскидку Это жадный алгоритм, и он редко даёт оптимум. Особенно когда элементы одного порядка с целевой суммой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2011, 00:52
|
|||
---|---|---|---|
|
|||
Найти все возможные комбинации |
|||
#18+
TpaBkaТак навскидку (возможно дилетантский подход, я долго не думал): Определяете наибольший платеж, который меньше заданной суммы затем, вычитаете платеж из суммы и проверяете равенство нулю остатка, если не ноль, то с остатком делаете вышеописанную операцию. Для реализации метода я бы использовал рекордсет + колекцию Пробовал примерно также. Если не получилось, то удалять первый элемент и пробовать заново? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2011, 01:52
|
|||
---|---|---|---|
|
|||
Найти все возможные комбинации |
|||
#18+
crash-mschПробовал примерно также. Если не получилось, то удалять первый элемент и пробовать заново? теперь и ты познал рекурсию :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.11.2011, 15:24
|
|||
---|---|---|---|
Найти все возможные комбинации |
|||
#18+
crash-msch, в своей проге я делал чуток по-другому. не заморачивался насчёт больше меньше, перебирал все элементы. сначала все числа, потом суммы из всех возможных комбинаций сумм двух чисел, трёх, и тд. кажется, что мудрённо, но комп монстр, выполнит всё за доли секунд ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&mobile=1&tid=2158266]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 385ms |
total: | 526ms |
0 / 0 |