Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Комбинации чисел


Автор: Georg4 27.2.2003, 09:04
Есть вопрос.
Дано 20 разных чисел в диапазоне скажем от 1 до 40
Нужно перебрать все комбинации по 2 числа в каждой

Автор: Fedor 27.2.2003, 16:48
А алгоритм полного перебора с возвратами тебе не подойдет? Если подойдет, то это - минутное дело...

Автор: Alex101 27.2.2003, 18:57
для i от 1 до 20
для j от 1 до 20
выдать m[i],m[j]

Это для двух, а для комбинации по N чисел удобнее с рекурсией
В m хранятся твои числа, если в комбинации не должно быть элементов с одинаковыми номерами (или одинаковыми значениями), то ставь условие
А для N будет примерно так:
Комбинация(num)
для i от 1 до 20{
добавить m[i]
если num==N то выдать комбинацию иначе Комбинация(num+1)
}

Вызывается Комбинация(1)

Тут еще важно, что ты понимаешь под комбинацией - сочетание или размещение.
А вообще, этот вопрос скорее для раздела "Технологии и алгоритмы"

Автор: Georg4 28.2.2003, 08:49
Вот мне как раз и нужен полный перебор вариантов из указанного списка.
Только количество чисел в одном варианте нужно делать изменяемым( как в новых версиях PWL tools,
просто дана строка исходных символов из которых подбирается пароль,( допустим это все символы английского алфавита и числа,) и выставляется мксимальное минимальное значение строки пароля и он уже перебирает только величины этого диапазона)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)