Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Dima TСхематично вывод делается так Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Тогда можно будет определить все сочетания для К объектов.Так? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Есть одно сомнение: для число 1 в массиве Р "1" находится в начале массива или в конце? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 19:47 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Что-то я намудрил в предыдущем сообщении. Теперь кажется верно: Код: 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. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2018, 13:40 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovЧто-то я намудрил в предыдущем сообщении. Теперь кажется верно: Тут тоже намудрил, это надо внутрь цикла, иначе он будет бесконечный Код: sql 1. И это под вопросом: Код: sql 1. value & mask дает или 0, или mask, выше ты 0 и 1 использовал, не знаю важно ли это для твоей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2018, 16:33 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Dima TТут тоже намудрил, это надо внутрь цикла, иначе он будет бесконечный Код: sql 1. И это под вопросом: Код: sql 1. value & mask дает или 0, или mask, выше ты 0 и 1 использовал, не знаю важно ли это для твоей задачи.Спасибо! Понял. Теперь так? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2018, 16:55 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
В сообщениях 21696995 и 21697400 представлена программа по поиску всех сочетаний К чисел. Однако, если величина К окажется слишком большой, например, 200, 250, то в программе появляются большие числа: 2^200, 2^250, что приводит к необходимости вводить дополнительные программы для работы с такими большими числами. В сообщениях 21697951 и 21698205 высказана мысль о переходе в программах, где есть большие числа, на другие числа, например, на величину степени 2 таких чисел. Однако выше указанная программа, которая основывается на программе 21690391 , предполагает разложение чисел вида 2^200 на отдельные биты, что не позволяет избавиться от больших чисел. Поэтому попробуем представить другую программу поиска сочетаний без использования больших чисел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 16:11 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
А в этой программе не требуется использовать большие числа: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Так что, получаем все сочетания. Где-то помогла картинка 21281836 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 20:42 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usov, Так и не смог избавится от go to? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 20:48 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
maytonGennadiy Usov, Так и не смог избавится от go to? mayton, он только учится программировать, пока хоть так, потом почитает правила хорошего тона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 21:03 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
maytonGennadiy Usov, Так и не смог избавится от go to?Пока не вижу альтернативы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 21:10 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovmaytonGennadiy Usov, Так и не смог избавится от go to?Пока не вижу альтернативы Альтернатива это цикл и break Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но в этом коде есть ошибка: i1 может выйти за пределы размера массива P[], поэтому лучше так Код: javascript 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 07:54 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Спасибо за 2 варианта программ! Dima TНо в этом коде есть ошибка: i1 может выйти за пределы размера массива P[], поэтому лучше так Код: javascript 1. 2. 3. 4. 5. 6. 7. Данный вариант очень интересен с точки зрения упрощения программы. Однако, все сочетания определяются в некотором цикле от 1 до ..... Процедура SOCHET3 будет в этом цикле. Последним сочетанием должно быть 1111111111 и т.д. А цикл будет работать дальше. Поэтому необходимо ввести ячейку P[К+1]. И пусть i1 выходит за пределы размера массива P[К], где мы 1 отловим в ячейке P[К+1]. Поэтому мне очень понравился 1-ый вариант. Никогда не работал со значениями true, поэтому спасибо за учение. Кстати, true можно применить и в оболочке над SOCHET3 Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 15:00 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovОднако, все сочетания определяются в некотором цикле от 1 до ..... Процедура SOCHET3 будет в этом цикле. Последним сочетанием должно быть 1111111111 и т.д. А цикл будет работать дальше. Поэтому необходимо ввести ячейку P[К+1]. И пусть i1 выходит за пределы размера массива P[К], где мы 1 отловим в ячейке P[К+1] Вот мы уже плавно подошли к теме обработки ошибок. Отлавливать ошибку в P[К+1] не самый красивый способ. Лучше выбрать какое-то правило для обработки ошибок и его использовать. Например функция возвращает true в случае успешного выполнения. В этом случае можно так Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. тогда вывод можно будет переписать так Код: javascript 1. 2. 3. 4. PS Советую сделать паузу и прочитать какую-нибудь книгу по основам программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 15:22 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Dima T Например функция возвращает true в случае успешного выполнения. В этом случае можно так Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. тогда вывод можно будет переписать так Код: javascript 1. 2. 3. 4. PS Советую сделать паузу и прочитать какую-нибудь книгу по основам программирования.Пока некогда делать паузу. Надо подвести некоторую черту. Что мы имеем: - вариант программы определения сочетаний для большого числа К 21699386 (на основании картинок 21281836 ); - вариант программы определения сочетаний для небольшого числа К 21696770 21697400 с использованием идеи 21690391 . Кому что нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 15:54 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Что от нас требуется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 18:32 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
maytonЧто от нас требуется?Да ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 19:33 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovНадо подвести некоторую черту. Что мы имеем: - вариант программы определения сочетаний для большого числа К 21699386 (на основании картинок 21281836 ); - вариант программы определения сочетаний для небольшого числа К 21696770 21697400 с использованием идеи 21690391 .В первом варианте, как правило, перебираются "1" только в части двоичного вида числа, определяющего сочетание. Во втором варианте маски перебирают все элементы двоичного вида числа, определяющего сочетание. В первом варианте можно значительно уменьшить количество переборов, если массив P[K] разделим на несколько частей, и "работаем" отдельно с каждой частью. Например, число К делится на 3. Тогда получаем программу (используем вариант 21699436 , предложенный Dima T): Код: 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. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2018, 19:37 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
В предыдущем сообщении массив P[K] был разделе на 3 равные части , и в каждой его части искались свои сочетания, а потом все эти сочетания совмещались в одно сочетание. Оказывается, такое разделение (произвольное) можно сделать для любого массива P[K]. Таким образом, можно уйти от больших чисел. Например, надо найти сочетания для 100 чисел. Делим массив P[100] на 4 части, например, 15, 35, 27, 23. Тогда, используя результаты сообщения 21702893 , получаем программу поиска сочетаний для 100 чисел: Код: 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. Правда, первое сочетание будет состоять из одних 0, но пока от этого не удаётся избавиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2018, 12:54 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Этот кусок кода имеет рекурсивную природу. Убежден что его можно переписать на более компактный вид. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2018, 17:54 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
maytonЭтот кусок кода имеет рекурсивную природу. Убежден что его можно переписать на более компактный вид.Возможно. Однако, не всегда в таких программах будет одна и та же процедура. Весь смысл такой разбивки не только в том, чтобы уйти от больших чисел. Могут быть процедуры, которые будут решать специальные задачи на отдельных участках массива P[K]. Например, сравнение с другими участками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2018, 18:56 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
А теперь можно вернуться к одной из задач по специальным сочетаниям: 21283022 «Имеется несколько последовательностей чисел: 1,2,3, далее 1,2,3,4,5,6, далее 1,2,3,4,5,6,7,8,9, и т.д. Для каждой нужно найти все сочетания. При этом: В первой последовательности в одном сочетании не могут быть 1 и 2, 2 и 3, во второй - 1 и 3, 2 и 4, 3 и 5, 4 и 6, в третьей - 1 и 4, 2 и 5, 3 и 6, 4 и 7, 5 и 8, 6 и 9 и т.д. Здесь видно, что существует некоторая прогрессия, которую можно распространить на последовательность, длиной 3 х К. Вот и все.» Можно взять программу 21702893 и добавить к ней процедуру SOCHET5, которая сравнивает значения «1» в 3-х разделах массива P[K]. Код: 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. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2018, 06:50 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Обычно цикл WHILE имеет обязывает программиста реализовать следующий паттерн: Код: java 1. 2. 3. 4. 5. Если вы опускаете итерационное выражение то рискуете получить бесконечный цикл. Теоретически это выражение может быть инкапсулировано в функцию условия но в вашем случае - есть сомнения что это реализовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2018, 16:24 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
mayton, 21699386 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2018, 17:01 |
|
||
|
Поиск любых сочетаний из К чисел
|
|||
|---|---|---|---|
|
#18+
Dima T, вы тестировали это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2018, 17:04 |
|
||
|
|

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

| 0 / 0 |
