Генерация сочетаний (Обычное приложение)
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Сочетаниями из n элементов по k называются соединения, которые можно образовать из n элементов, собирая в каждое соединение k элементов; при этом соединения отличаются друг от друга только самими элементами (различие порядка их расположения во внимание не принимается).
Например, из 3 элементов (a,b,c) по 2 можно образовать следующие сочетания: ab, ac, bc.
Число всех возможных сочетаний, которые можно образовать из n элементов по k, обозначается символом Cnk и вычисляется по формуле:

За основу математических алгоритмов был взяты статьи с http://algolist.manual.ru/maths/combinat/
Так же хочется поблагодарить пользователя noblekey за его алгоритм генерации случайных чисел. Код был взят с публикации //infostart.ru/public/57305/
Алгоритм генерации сочетаний обширно использовался мною на олимпиадах по 1С.
Возможно, есть более быстрые решения. Обработка поддерживает максимально число из 20 цифр, но можно добавить в табличную часть "Числа" реквизиты вида "Цифра_21","Цифра_22" и больше, и после чего будет поддерживаться числа, длиной больше 20 цифр.

Вступайте в нашу телеграмм-группу Инфостарт