Вопрос по комбинаторике (в блог)

Аватар пользователя Мрак

Сколько бьюсь, не могу найти, нужна помощь зала!

Если рассчитать уникальные комбинации 10 чисел в ряд из 6-ти, то выдает 210 рядов по 6 цифр. Формула n! / m! (n-m)! где n = 10 и m = 6. Но нужно рассчитать 5 чисел из 10 с тем же рядом в 6. 

Т.е. в первом случае у нас 210 рядов где 10 чисел комбинируются в уникальные сочетания (цифры не повторяются). Здесь все понятно.

Во втором нужно 10 чисел откомбинировать в уникальные сочетания по 5 в ряд из 6-ти. Т.е. этих рядов из 6-ти будет меньше, т.к. добавился свободный разряд куда можно запихать еще цифру из имеющихся 10-ти. 

К примеру имеется:

1, 2, 3, 4 ,5 ,6 ,7, 8, 9,10

Первый вариант 210 комбинаций, это означает любые 6 чисел из 10 попадут в один из 210 рядов. 1, 2, 3, 4 , 5 ,6; 1, 2, 3, 4, 5, 7 и так далее до 210.

Второй вариант - любые 5 чисел из 10 попадут в один из N? рядов (ряд 6 цифр). Вот это то кол-во N рядов и нужно рассчитать, плюс сгенерировать сами комбинации из цифр.

Приветствуются примеры на любых языках программирования, ну за исключением совсем экзотических. Ссылки тоже приветствуются.

Мерси..  так сказать ))

 

Авторство: 
Авторская работа / переводика

Комментарии

Аватар пользователя Another_jim
Another_jim(10 лет 10 месяцев)

Те во втором случае вы выбираете 6 чисел из 10, но с повторами? 

Выбираете 5 чисел из 10, составляете ряд из 6 чисел, используя только тех 5ть

1. Выбрать 5 чисел по верхней формуле C из n по k.

2. Умножить 5^6

 

 

Аватар пользователя Vasche
Vasche(10 лет 3 недели)

Я правильно понял, что надо найти количество сочетаний  5 из 6 в сочетаниях 6 из 10?

Порядок важен или пофиг?

Аватар пользователя Andrey.ron
Andrey.ron(10 лет 5 месяцев)

Не знаю уж правильно ли понял условия, но если это то... то лет 20 назад, в Бауманке, пытались решить подобную задачу алгоритмически с точки зрения оптимальности. Участвовали гении. Алгоритмировать не смогли. Хоть и очень нужно было на пиво. А спортлото никто не отменял. Очень хотелось на минимальном количестве заполненных билетов получить гарантированно выигрыш 4-х номеров в лотерее 5 из 36. Банальный перебор всех возможных пересечений массивов оказался единственно реальным вариантом решения, неприемлемым в тех условиях. Это если я правильно понял условия задачи автора...

Аватар пользователя Bruno
Bruno(10 лет 7 месяцев)

Непонятное задание. Мне в комбинаторике нравятся геометрические интерпретации. То есть первый случай можно интерпретировать так: сколько несовпадающих шестиугольников можно построить на углах десятиугольника? 210.

А во втором случае, что тогда нужно сделать?

Аватар пользователя Alexn.Klimov
Alexn.Klimov(12 лет 9 месяцев)

Рекомендую почитать Кнута. 

Аватар пользователя ВладимирХ
ВладимирХ(13 лет 2 месяца)

Я бы сказал что Вы выразились крайне непонятно.

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

Что такое "ряд"? Что такое "разряд"?

Аватар пользователя Мрак
Мрак(10 лет 3 недели)

Да нужно было из сочетаний 6 из 10 ти выкинуть все повторы 5 из 10-ти. Получается 126 вариантов, где любых 5 чисел из 10 более не повторяются ни в одном другом варианте 6-тизначных рядов.

Собственно проблема была решена вот этим примером:

http://www.vbforums.com/showthread.php?432293-Generating-unique-combinat...

Осталось только сгенерировать 6 из 10 и отфильтровать дубликаты к 5-ти. Итог - 126.