Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usov сочетания с 8 по 15 повторяют сочетания с 1 по 7 (с добавлением сочетания 0000) при добавлении сочетания 1, но уже со сдвигом по колонкам на 3 колонки. То есть, мы имеем восьмеричную систему счисления. И имея в памяти только 8 сочетаний (с 1 по 7 плюс 0000), мы можем описать все сочетания в количестве 7,3787E+19. Мы можем для удобства выстроить любую систему счисления, в зависимости от удобства, кратную 2. Попробуем взглянуть на проблему по другому. Имеем число А = 2 в степени 250. Данное число можно представить как А = В в степени 10, где В = 2 в степени 25. Количество сочетаний для 25 чисел равно 16777216. Данное число будет «считабельно». И все сочетания для 25 чисел поместим в массив С (25, 16777216), естественно, вместе с 00000….00000. Осталось придумать алгоритм собирания 10 сочетаний по 25 из массива С в одно сочетание по 250. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:25 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovИмеем число А = 2 в степени 250. Данное число можно представить как А = В в степени 10, где В = 2 в степени 25. Количество сочетаний для 25 чисел равно 16777216. Данное число будет «считабельно». И все сочетания для 25 чисел поместим в массив С (25, 16777216), естественно, вместе с 00000….00000. Осталось придумать алгоритм собирания 10 сочетаний по 25 из массива С в одно сочетание по 250. Рассмотрим один из возможных алгоритмов, позволяющих решить данную задачу. Допустим имеется массив сочетаний С(25, 16777216), массив сочетания С1 (250), массив счетчиков Р(10) и общий счетчик Р1. Присвоим всем значениям счетчика значение 1: Р( i ) = 1, 1 <= i <= 10, Р1 =1, Р2 = 16777216, где Р1 – счетчик сочетаний по 250. Метка 1: Далее основное присвоение: цикл С1( j + 25 * (i – 1)) = С( j, Р( i ) ), 1 <= i <= 10, 1 <= j <= 25. Р( 1 ) = Р( 1 ) + 1, Р1 = Р1 +1, если Р( 1 ) > Р2 то (Р( 1 ) = 1, Р( i ) = Р( i ) +1, 2 <= i <= 10, если Р( i ) <= Р2 то (переход к метке 1) иначе Р( i ) = 1). Здесь массив С1 (250) - одномерный. Но можно его сделать двумерным с помощью счетчика Р1. Можно рассмотреть другие варианты соотношений длины малых массивов и их количества : 10 и 25, 50 и 5, 5 и 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 12:36 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovТеперь появилась новая задачка: Имеется несколько последовательностей чисел: 1,2,3, далее 1,2,3,4,5, далее 1,2,3,4,5,6,7, и т.д. Для каждой последовательности чисел нужно найти все сочетания. При этом: в первой последовательности в одном сочетании не могут быть 1 и 3, во второй - 1 и 4, 2 и 5, в третьей - 1 и 5, 2 и 6, 3 и 7, и т.д. Здесь видно, что существует некоторая прогрессия, которую можно распространить на последовательность чисел, длиной 1 + 2 х К. Перед тем как считать все сочетания в лоб, попробуем оценить количество сочетаний. Разделим массив 1 + Кх2 на части: в первую группу возьмем первые числа от 1 до К +1, во вторую группу возьмем остальные К чисел. Тогда в первой группе получается Р1 = (2 в степени (К + 1)) сочетаний чисел, а во второй группе получается Р2 = (2 в степени К ) сочетаний чисел. Попробуем складывать сочетания из первой и второй группы. В силу условий несовместимости отдельных чисел получается следующая зависимость: при выборке по 1 числу из второй группы первая группа уменьшается в два раза, при выборке по 2 числа из второй группы первая группа уменьшается в четыре раза, при выборке по 3 числа из второй группы первая группа уменьшается в восемь раз, … При выборке всех чисел из второй группы имеем только 2 сочетаний из первой группы. Осталось только сложить между собой произведения сочетаний (к по n ) на число (2 в степени (К + 1- к)). Наверное, есть формула по определению таких сумм. Может быть кто-то встречал такую формулу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 13:43 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usov, формула по определению таких сумм безусловно есть, только знают её не только лишь все, мало кто вообще её знает. А если б/сарказма, то можно попробовать метод производящих функций. Как раз есть возможность представить в рекуррентном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 14:04 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
exp98Gennadiy Usov, формула по определению таких сумм безусловно есть, только знают её не только лишь все, мало кто вообще её знает. А если б/сарказма, то можно попробовать метод производящих функций. Как раз есть возможность представить в рекуррентном виде. Спасибо! Посмотрел производящие функции. https://ru.wikipedia.org/wiki/Сочетание Сумма сочетаний умноженных на х в степени к. У нас х = 2. Только умножение идет на 2 в степени (К + 1- к). С другой стороны, сочетание (к по n) равно сочетанию ( (n- к) по n). То есть, сумму произведений сочетаний на степень можно развернуть в другую сторону. И получается нормальная производящая функция, только значения каждой степени умноженное еще на 2. Следовательно, значение производящая функция равно: 2 х ( 1 + 2 ) (в степени n). Кажется так. Проверки на массивах вручную показали: массив 3 – 6 сочетаний, массив 5 – 18 сочетаний, массив 7 – 54 сочетаний. Следовательно, можно говорить, что для массива из 83 чисел имеем 2,66056E+39 сочетаний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 20:02 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Замечен интересный момент периодичности или цикличности расположения сочетаний в массиве сочетаний из n цифр. Для первой колонке справо имеем сначала 0, потом 1, затем 0 и опять 1, то есть 1 на 1. Для второй колонки будет 2 на 2. Для третьей колнки будет 4 на 4. Для четвертой колонки будет 8 на 8. и т. д. Для колонки n будет Р на Р, где Р = 2 в степени n. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2018, 11:32 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovАлгоритм 21283691 позволяет частично решить задачу 21283022 . В задаче В чисел, причем В кратно 3. Разделим эти числа на три части, А = В/3, в первой части первые А чисел, во второй - средние А чисел, в третьей - последние А чисел. Для первых А чисел количество сочетаний будет равно В1, где В1= 2 в степени А. Эти сочетания будут соответствовать числа от 0 до (В1 - 1). Здесь 0 необходим, поскольку будут циклы. Теперь можно найти сочетания для чисел, которые составляют 1-ую и 3-ю части. Для этой цели формируем массив В2 (В3), где В3 = В1 х В1. Тогда В2 (i x В1 + j) = i x В3 + j, 0 <= i <= В1, 0 <= j <= В1. Чтобы определить сочетания, надо элементы массива В2 (В3) разложить на составляющие согласно алгоритму 21283691 Теперь добавляем средние А чисел. И смотрим, сколько теперь получается сочетаний. В ручном режиме получилось следующее: для трех цифр получается 5 сочетаний, для шести цифр получается 25 сочетаний, для девяти цифр получается 125 сочетаний. Если рассмотреть все сочетания, то оказывается, что получается сумма произведений сочетаний (к по n) на число 4 в степени к. То есть, это производящие функции. И сумма этих произведений будет (1 + 4 ) в степени n. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2018, 19:27 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Сообщение. Алгоритм определения сочетаний чисел, часть из которых несовместима с другими числами. Ранее в сообщениях 21302076 21300743 говорилось о сочетаниях таких чисел. Приводятся описание алгоритмов определения сочетаний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:19 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Как известно, количество сочетаний из К чисел равно 2^К. Все эти сочетания можно разбить на пары, которые в «сумме» дадут сочетание 111111…1111. Если требуется оставить из этих пар только одно сочетание, а также убрать сочетания 00000....000 и 1111…111, то останутся 2^(К-1)-1 сочетаний. Попробую написать программу для поиска таких сочетаний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 13:46 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usov, чего там искать: 00001....01111 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:03 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovКак известно, количество сочетаний из К чисел равно 2^К. то о чем вы пишите есть количество подмножеств множества из k элементов, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:06 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovКак известно, количество сочетаний из К чисел равно 2^К. Все эти сочетания можно разбить на пары, которые в «сумме» дадут сочетание 111111…1111. Если требуется оставить из этих пар только одно сочетание, а также убрать сочетания 00000....000 и 1111…111, то останутся 2^(К-1)-1 сочетаний. Попробую написать программу для поиска таких сочетаний. У вас - пробелы в дискретной математике. Почитайте здесь http://vyshka.math.ru/pspdf/s09/discrete/DiscrMath09Chap1.pdf Перестановки, сочетания, размещения . Это разные понятия. В ферзевой задаче я использовал перестановки ладей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:26 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
MBoGennadiy Usov, чего там искать: 00001....01111То, что точки в двух сочетаниях 00000....000 и 1111…111, это в левом 0, в правом 1, просто 0 или 1 очень много в каждом сочетании. Идея в чем: есть сочетания 00010011 и 11101100. Мне нужно одно из этих сочетаний исключить (не рассматривать). И так для всех сочетаний (пар сочетаний). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:29 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovИдея в чем: есть сочетания 00010011 и 11101100. Мне нужно одно из этих сочетаний исключить (не рассматривать). И так для всех сочетаний (пар сочетаний). Если не ошибаюсь то достаточно перебрать все сочетания до 01111111, т.е. до 2^(К-1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:33 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
maytonУ вас - пробелы в дискретной математике. Почитайте здесь http://vyshka.math.ru/pspdf/s09/discrete/DiscrMath09Chap1.pdf Перестановки, сочетания, размещения . Это разные понятия. В ферзевой задаче я использовал перестановки ладей.Я применил статью https://ru.wikipedia.org/wiki/Сочетание Мы с Вами говорим о разных задачах: - Вы говорите о перестановке ладей (ферзей); - я говорю о сочетаниях по работе с разными элементами задачи(с какими элементами должны работать в настоящий момент). Это не обязательно ферзи. Это могут быть двойки, тройки, четверки, пятерки и т.д. ферзей. Поэтому я применяю термин сочетания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:39 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Dima TGennadiy UsovИдея в чем: есть сочетания 00010011 и 11101100. Мне нужно одно из этих сочетаний исключить (не рассматривать). И так для всех сочетаний (пар сочетаний).Если не ошибаюсь то достаточно перебрать все сочетания до 01111111, т.е. до 2^(К-1)С точки зрения количества - верно. А вот подряд перебирать сочетания не получится. Самый лучший способ проверить - это сделать все сочетания для 3-х (001, 010, 100), 4-х и 5-ти чисел (объектов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:44 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovmaytonУ вас - пробелы в дискретной математике. Почитайте здесь http://vyshka.math.ru/pspdf/s09/discrete/DiscrMath09Chap1.pdf Перестановки, сочетания, размещения . Это разные понятия. В ферзевой задаче я использовал перестановки ладей.Я применил статью https://ru.wikipedia.org/wiki/Сочетание Мы с Вами говорим о разных задачах: - Вы говорите о перестановке ладей (ферзей); - я говорю о сочетаниях по работе с разными элементами задачи(с какими элементами должны работать в настоящий момент). Это не обязательно ферзи. Это могут быть двойки, тройки, четверки, пятерки и т.д. ферзей. Поэтому я применяю термин сочетания. Вы написали. Gennadiy UsovКак известно, количество сочетаний из К чисел равно 2^К. Это - некорректно. 2^K - не имеет никакого отношения к термину сочетания . Я вас поправил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 20:44 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Используя опыт построения сочетаний для 2, 3, 4, 5 объектов в количестве одного из пары, можно сделать следующую программу: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. В данном виде программа позволяет получить массив сочетаний, так как все сочетаний формируются в цикле (и не в одном). Поскольку сочетаний может быть очень много, то целесообразно сделать эту программу в виде процедуры, чтобы «вытаскивать» только одно очередное сочетание, по порядку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 07:31 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
В предыдущем сообщении 21688676 операторы: Код: javascript 1. 2. нужно заменить на операторы: Код: javascript 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 13:04 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
И ещё заменить операторы Код: javascript 1. 2. 3. на операторы Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 13:10 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Кстати, можно немного упростить программу 21688676 с учетом последующих изменений с целью определения всех сочетаний: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 13:18 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usov, не совсем понимаю что должно получиться. Можно пример для K = 3 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 13:40 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usov, JavaScript не умеет возводить в степень так как вы описали. С одной стороны похвально что вы пытаетесь помочь. С другой стороны это выглядит как медвежья услуга. И помогли и запутали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 13:55 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Dima TGennadiy Usov, не совсем понимаю что должно получиться. Можно пример для K = 3 ?Вы задали вопрос, а я нашел ошибку: при р1=0 не определен i1. Поэтому вместо: Код: javascript 1. 2. будут операторы: Код: javascript 1. 2. 3. При К = 3 должно получиться 100, 010, 001. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 15:00 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovПри К = 3 должно получиться 100, 010, 001. А при К = 4 добавится 1000, 0100, 0010, 0001. Так ? Если так то это К вариантов, а не 2^(K-1) И показанное это степени двойки, если рассматривать эти числа как двоичные, т.е. Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 15:13 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39623277&tid=1340024]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 287ms |

| 0 / 0 |
