Как узнать все числа из всех вариаций при минимальном кол-ве операций?
У нас есть 100 известных чисел (12 56 84 15 и т.д) и есть отдельное число, к примеру 40. Нужно найти все вариации из 10 известных чисел среднее которых будет меньше отдельного числа 40
xmoonlight, забыл ответить, тематика проекта, поиск неэффективностей на рынке, с попыткой извлечь из этого прибыль. Рынок игровых вещей, проект под личные нужды
Сначала нужно отсеять все варианты средних (эвристика).
Для этого нужно знать:
1. Могут ли повторяться числа
2. Что значит (система из неравенств): среднее для N чисел в отношении (больше/меньше) к заданному.
vitaliyVH, ключевые слова "задача об упаковке рюкзака" можете найти довольно много статей об оптимизации перебора (отбрасывании заведомо не подходящих решений).
Я немного не прав, у вас немного другая задача, но явно не менее затратная в вычислениях.
Классическая задача требует найти максимально близкое к пределу заполнение. Но так как ваша задача сводится к этой простым поиском максимума, то она не может решаться быстрее....
Алексей Тен, ваш стремительный ответ так же победителен, как начало известного доказательства Великой Теоремы Фрема: "главная идея - переносим x^n в правую часть уравнения" )
Роман, longclaps, ну понятно что дальше перебор, но он сто раз описан и вполне конечен. Т.е. каждая десятка это один из подходящих ответов и не нужно перебирать все(!) комбинации из 100 по 10.
longclaps, ну может там такой набор чисел, что под условие подпадает всего несколько вариантов. Если распределение реально равномерное, то конечно совершенно без разницы как перебирать эти триллионы вариантов
Один из вариантов оптимизации, не суммировать каждый раз 10 чисел, а сумму 9 сохранять, подменяя только 1 число за раз, т.е. вычитая прежний вариант и суммируя следующий. сумма каждый раз должна быть менее 400, иначе вариант сразу не годится.