Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Алгоритм набора указанной суммы из списка чисел
|
|||
|---|---|---|---|
|
#18+
Имеем таблицу с суммами (любыми) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Нужно выбрать записи, чтобы сумма выбранных значений была максимально близка к требуемой (RequestSum). Я делал обратную сортировку по значению и в цикле собирал сумму: 17 + 15 (превышение - пропускаем) + 9 + 8 (превышение - пропускаем).... Получил 26. Но 9 + 8 + 7 + 6 = 30 - лучше. Какой алгоритм сделать? Нужно что то типа массива? Но строк может быть много - динамику? Или лучше создать CLR том же C#? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 17:01 |
|
||
|
Алгоритм набора указанной суммы из списка чисел
|
|||
|---|---|---|---|
|
#18+
https://ru.wikipedia.org/wiki/Задача_о_ранце http://www.sql.ru/forum/afsearch.aspx?s=??????_?_?????&submit=?????&bid=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 17:32 |
|
||
|
Алгоритм набора указанной суммы из списка чисел
|
|||
|---|---|---|---|
|
#18+
Pochemoochka, тем действительно масса... самый общий наверное а как вам выбирать из массы результатов это другой вопрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 17:51 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39614931&tid=1690111]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 325ms |

| 0 / 0 |
