Всем доброго дня! Опять решил подбросить дров в интеллектуальные костры участников МШ. Когда-то помогал сыну с задачками по комбинаторике и придумал и реализовал алгоритм, который нумерует по порядку все комбинации перестановок, то есть присваивает каждой комбинации свой уникальный номер. Из этого номера можно восстановить конкретную комбинацию. Таким образом получается двустороннее соответствие комбинации перестановок и числа от 0 до n!-1. Перестановки 5 из 5 нумеруются от 0 до 119. В прилагаемом файле пять столбцов со всеми комбинациями перестановок и зелёный столбец, что должно получиться. Формула протягиваемая. Первое моё решение "в лоб" для комбинации 5 из 5 было 93 символа. Сократил до 86. Универсальная формула (от 3 из 3 до 9 из 9) тоже 86 символов, только разные диапазоны и константы. Для обратного преобразования - получения комбинации из номера, универсальной формулы пока не получилось. Во время решения задачи столкнулся со странным поведением некоторых стандартных функций Excel. Когда вскроюсь, увидите. Думаю, что до следующего понедельника (05.09.16) времени будет достаточно. [p.s.]Надеюсь, что участников будет больше, чем на прошлых моих задачках. Возможно, что у кого-то получится не такая строгая последовательность номеров, но будут однозначно номера от 0 до 119, решение засчитается. Удачи!
Всем доброго дня! Опять решил подбросить дров в интеллектуальные костры участников МШ. Когда-то помогал сыну с задачками по комбинаторике и придумал и реализовал алгоритм, который нумерует по порядку все комбинации перестановок, то есть присваивает каждой комбинации свой уникальный номер. Из этого номера можно восстановить конкретную комбинацию. Таким образом получается двустороннее соответствие комбинации перестановок и числа от 0 до n!-1. Перестановки 5 из 5 нумеруются от 0 до 119. В прилагаемом файле пять столбцов со всеми комбинациями перестановок и зелёный столбец, что должно получиться. Формула протягиваемая. Первое моё решение "в лоб" для комбинации 5 из 5 было 93 символа. Сократил до 86. Универсальная формула (от 3 из 3 до 9 из 9) тоже 86 символов, только разные диапазоны и константы. Для обратного преобразования - получения комбинации из номера, универсальной формулы пока не получилось. Во время решения задачи столкнулся со странным поведением некоторых стандартных функций Excel. Когда вскроюсь, увидите. Думаю, что до следующего понедельника (05.09.16) времени будет достаточно. [p.s.]Надеюсь, что участников будет больше, чем на прошлых моих задачках. Возможно, что у кого-то получится не такая строгая последовательность номеров, но будут однозначно номера от 0 до 119, решение засчитается. Удачи!Светлый
Компьютера сейчас под рукой нет но решить можно через факториалы. К воскресенью надеюсь смогу поучаствовать. Обратное преобразование из номера в перестановку можно сделать
Компьютера сейчас под рукой нет но решить можно через факториалы. К воскресенью надеюсь смогу поучаствовать. Обратное преобразование из номера в перестановку можно сделатьMCH
Обратное преобразование из номера в перестановку можно сделать
Как раз хотел в следующем задании МШ предложить создать формулу генерации перестановок из образца. Раз уже есть решения, то не буду повторяться. Хотя для соревновательности моё решение 135 символов. А полностью универсальное 216 символов. Надо в первые (одну, две,.. восемь) ячейки вписать тексты или числа, а ниже автоматически показывает все остальные перестановки.
Обратное преобразование из номера в перестановку можно сделать
Как раз хотел в следующем задании МШ предложить создать формулу генерации перестановок из образца. Раз уже есть решения, то не буду повторяться. Хотя для соревновательности моё решение 135 символов. А полностью универсальное 216 символов. Надо в первые (одну, две,.. восемь) ячейки вписать тексты или числа, а ниже автоматически показывает все остальные перестановки.Светлый
Для варианта 5 из 5 с массивными константами получилось 64 символа. Без констант - универсальная 85 символов. Эта формула уже с другими функциями.
Для варианта 5 из 5 с массивными константами получилось 64 символа. Без констант - универсальная 85 символов. Эта формула уже с другими функциями.Светлый
По исходному заданию, вычислить номер перестановки исходя из комбинации Для варианта 5ти чисел, используя константы - 64 символа, можно написать универсальную, но будет длиннее
UPD: Есть две разные формулы на 60 и 61 знак (с учетом "=")
По исходному заданию, вычислить номер перестановки исходя из комбинации Для варианта 5ти чисел, используя константы - 64 символа, можно написать универсальную, но будет длиннее
UPD: Есть две разные формулы на 60 и 61 знак (с учетом "=")MCH
Для варианта 5 из 5 с массивными константами получилось 64 символа.
С подсказкой от MCH сократил до 56 55 символов(если допустить нумерацию в обратном порядке, то 54 символа), а универсальные варианты с разными функциями 74 и 71 70 (69) символов. Как хорошо, что есть у кого учиться!
Для варианта 5 из 5 с массивными константами получилось 64 символа.
С подсказкой от MCH сократил до 56 55 символов(если допустить нумерацию в обратном порядке, то 54 символа), а универсальные варианты с разными функциями 74 и 71 70 (69) символов. Как хорошо, что есть у кого учиться!Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Воскресенье, 28.08.2016, 20:00
нашел я фсе-таки время и силы (ибо в комбинаторике я не силен) для этой задачки получил формулу номера перестановки 5 из 5 для лексиграфического порядка 97 символов с константами для антилексиграфического порядка 162 символа с константами универсальне монстроформулы генерации перестановки m из n по номеру в лексиграфическогм и антилексиграфическом порядке 334 каждая [p.s.]формулы генерации не мои, пару лет назад бесцеремонно спер формулу у FrankensTeam, сейчас ее немного адаптировал
нашел я фсе-таки время и силы (ибо в комбинаторике я не силен) для этой задачки получил формулу номера перестановки 5 из 5 для лексиграфического порядка 97 символов с константами для антилексиграфического порядка 162 символа с константами универсальне монстроформулы генерации перестановки m из n по номеру в лексиграфическогм и антилексиграфическом порядке 334 каждая [p.s.]формулы генерации не мои, пару лет назад бесцеремонно спер формулу у FrankensTeam, сейчас ее немного адаптировалkrosav4ig
Трое участников - это уже прогресс. Но раньше то 5-7 не было пределом. До понедельника ещё осталось время. Может быть, кто-то ещё присоединится? Что-то не наблюдается азарта в самой интеллектуальной части форумчан.
Трое участников - это уже прогресс. Но раньше то 5-7 не было пределом. До понедельника ещё осталось время. Может быть, кто-то ещё присоединится? Что-то не наблюдается азарта в самой интеллектуальной части форумчан.Светлый
На мой взгляд, задача сложная. Здесь необходимы знания в области комбинаторики. Как минимум, задачу нужно хотя бы решить, найти алгоритм решения, а потом уже смотреть пути снижения размера формул. Думаю, что проблема возникает как раз с первым (решить саму задачу).
Но то, что на форуме есть несколько человек, способных решить подобную задачу, это уже очень хорошо.
PS: Можно предложить следующую подобную задачу на комбинаторику: 5 из 36 по номеру комбинации получить выборку и наоборот по выборке получить порядковый номер.
На мой взгляд, задача сложная. Здесь необходимы знания в области комбинаторики. Как минимум, задачу нужно хотя бы решить, найти алгоритм решения, а потом уже смотреть пути снижения размера формул. Думаю, что проблема возникает как раз с первым (решить саму задачу).
Но то, что на форуме есть несколько человек, способных решить подобную задачу, это уже очень хорошо.
PS: Можно предложить следующую подобную задачу на комбинаторику: 5 из 36 по номеру комбинации получить выборку и наоборот по выборке получить порядковый номер.MCH
Нарисовал формулу 113 символов и проверил. 45239040 комбинаций. Но среди них есть одинаковые наборы, только в разном порядке. Надо это исключить. Тогда получится 376992. Такую формулу пока не представляю.
Нарисовал формулу 113 символов и проверил. 45239040 комбинаций. Но среди них есть одинаковые наборы, только в разном порядке. Надо это исключить. Тогда получится 376992. Такую формулу пока не представляю.Светлый
Для "спортлото" (5 из 36), по любой комбинации от 1,2,3,4,5 до 32,33,34,35,36, подсчитывает ее номер (от 1 до 376992) как указано в файле В желтых ячейках указана комбинация, в зеленых ее номер, столбец А пустой, так легче написать формулу. Формула - 100 знаков
Для "спортлото" (5 из 36), по любой комбинации от 1,2,3,4,5 до 32,33,34,35,36, подсчитывает ее номер (от 1 до 376992) как указано в файле В желтых ячейках указана комбинация, в зеленых ее номер, столбец А пустой, так легче написать формулу. Формула - 100 знаковMCH
У меня пока 57 символов, но работает только в 2007 и выше. При сравнении проявилась ошибка округления, пришлось увеличивать до 63 символов. В любом офисе формулы 69 с погрешностью и 75 символов целочисленная нумерация.
У меня пока 57 символов, но работает только в 2007 и выше. При сравнении проявилась ошибка округления, пришлось увеличивать до 63 символов. В любом офисе формулы 69 с погрешностью и 75 символов целочисленная нумерация.Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Четверг, 01.09.2016, 18:44