На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Оставь надежду всяк сюда входящий
1) На раздел распространяются все правила форума.
2) Ответы на головоломки необходимо давать только в теге SPOILER. Сообщения в обход этого правила будут удаляться. Постоянное
нарушение данного пункта правил, повлечет за собой наказание.
3) Автор темы должен указать, известно ли ему решения задачи и сроки в которые он опубликует решение.Рекомендуется вести список отгадавших в первом сообщении.
4) При создании новой темы, в описании или в самом названии четко укажите разновидность задачи.
5) Полная версия правил раздела, находится в теме правила раздела.
Модераторы: Братец Лис
Страницы: (57) « Первая ... 54 55 [56] 57   ( Перейти к последнему сообщению )  
> Интересные задачки
    Да, существует.
    Мои религиозные убеждения не позволяют мне комментировать код.
    Моё мировоззренье таково: в программе комментария ни одного!
      Не задача, а просто засел дурацкий вопрос:

      можно ли расположить все пятизначные числа от 10000 до 99999 в ряд так, чтобы каждое следующее число ряда отличалось от предыдущего лишь одной цифрой?
        Напомнило: дано положительное число; сформируйте наименьшее возможное, которое большее данного, но имеет такое же количество установленных бит в его двоичной записи, как и данное.
        Сообщение отредактировано: Qraizer -
        Одни с годами умнеют, другие становятся старше.
          Qraizer, я не уверен, что динамическое решение надо. Но если оно ..

          цикл
          число = число +1
          если число единичек равно начальному - выход
          иначе в начало цикла

          :-?
          Мои программные ништякиhttps://majestio.info
            Всё куда проще: Находим в числе самую правую единичку, которую можно сдвинуть влево (слева от неё ноль). Сдвигаем её на одну позицию влево, все единицы, что правее её сдвигаем вправо в младшие разряды.
            Или эквивалентный способ: Находим в двоичной записи числа самую правую группу единиц. Старшую единицу этой группы двигаем влево на один разряд, остальные в младшие разряды.

            У меня где-то даже подпрограмма соответствующая была. Понадобилось для последовательного перебора подмножеств определённого размера.
            Хотел потом переписать её так, чтобы она последовательные числа с минимальными изменениями выдавала, но обнаружил, что существенного ускорения всей программы всё равно не получается (внесение изменения оказалось сравнимым с просто вычислением).
            Есть чуть более сложная задача: получить все числа с заданным числом единиц, сгруппированных в определённое количество групп.
            Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
              Цитата Qraizer @
              Напомнило: дано положительное число; сформируйте наименьшее возможное, которое большее данного, но имеет такое же количество установленных бит в его двоичной записи, как и данное.

              next_permutation либо дописываем 0 и генерируем минимально возможное число из полученных цифр.
              Подпись была включена в связи с окончанием срока наказания
                Цитата ya2500 @
                Существует ли стратегия, дающая положительное матожидание выигрыша в этой игре?

                Цитата Vesper @
                Шансы считать влом, но

                Цитата MIF @
                Да, существует.


                Есть мнение, что никакая стратегия не даст положительного матожидания выигрыша.
                  Цитата ya2500 @
                  можно ли расположить все пятизначные числа от 10000 до 99999 в ряд так, чтобы каждое следующее число ряда отличалось от предыдущего лишь одной цифрой?


                  Похоже, что ответ == "можно" и даже не нужно перечислять их все. Алгоритм вполне можно описать... наверное.
                    Цитата ya2500 @

                    можно ли расположить все пятизначные числа от 10000 до 99999 в ряд так, чтобы каждое следующее число ряда отличалось от предыдущего лишь одной цифрой?

                    Можно. Правда, 99999 может не оказаться последним в этом ряду. Берем последовательность 0-9 для последнего знака. Строим по ней последовательность 00-99 (точнее 00-90) так: первый разряд меняется от 0 до 9, последний бежит по последовательности и назад. Назад затем, чтобы не париться с построением и поддержкой других последовательностей. По этой последовательности строим сначала 000-999, по ней 0000-9999, по ней заменой первой последовател ности на 1-9 строим искомую.
                    Долог путь в бессмертие... я еще вернусь.
                    Профильный скилл "Телепатия" 8%
                    ТРОЛЛЬ - Троян Разрушительный Опасный, Лучше ЛинятЬ (с) Freezing Spell
                    Прошу потестить игру.
                      Цитата Vesper @
                      Можно. Правда, 99999 может не оказаться последним в этом ряду


                      но это - часть условия. Хотя, рассуждения всё равно интересны. Но непонятны)
                        Если обозначить места цифр как xyz..., то окажется, что все нужные числа - равномерно расположенные целочисленные точки в таком-то кубике (5-мерном, в данном случае). При этом нужно обойти их всех, поворачивая только на 90 градусов (меняя одну цифру). Задача обхода несложно решается в 3-мерном случае. Но для строгости - индукция по размерности n, с тривиальной базой n=1. :)
                          Цитата Славян @
                          Если обозначить места цифр как xyz..., то окажется, что все нужные числа - равномерно расположенные целочисленные точки в таком-то кубике (5-мерном, в данном случае). При этом нужно обойти их всех, поворачивая только на 90 градусов (меняя одну цифру). Задача обхода несложно решается в 3-мерном случае. Но для строгости - индукция по размерности n, с тривиальной базой n=1.


                          интересная идея. И, да - у меня тоже есть своя идея, она отличается от выше обозначенных, но я пока не дотумкал её до конца.

                          Добавлено
                          Славян, используя твой метод можно попробовать прикинуть, имеет ли задача решение вообще.
                            Перебор цифр в порядках 0123456789 и 9876543210 не единственные возможные. В предложенном Vesper методе, кроме самой первой размещаемой цифры, все остальные перебираются по нескольку раз. Поэтому всегда можно выбрать такие порядки перебора для них, чтобы первый их них начинался с 0, а последний заканчивался на 9.
                            Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                              Цитата ya2500 @
                              Не задача, а просто засел дурацкий вопрос


                              И ещё один:

                              Представим "вселенную N++", каждое состояние которой является натуральным числом и в которой существует один единственный закон, определяющий смену состояний: они просто наращиваются на единицу. То есть, начинаясь с единицы, вселенная последовательно проходит следующие этапы: 1, 2, 3, 4.. 100500.. 123456789000.. и вот, у меня ВОПРОС: можно ли сказать, что количество информации в этой вселенной увеличивается? И если да, то откуда она берётся? А если нет, то неужели 2 несёт столько же информации, что и 123456789000?
                                Цитата ya2500 @
                                у меня ВОПРОС: можно ли сказать, что количество информации в этой вселенной увеличивается? И если да, то откуда она берётся? А если нет, то неужели 2 несёт столько же информации, что и 123456789000?

                                Хмммм. Нет, нельзя - увеличивается информация вовне этой вселенной, так как число возможных состояний вселенной растет с каждым применением закона внутри неё (ака временем, по факту это оно и есть, только квантованное). А вот в вопросе поиска конкретного состояния вселенной из некоего N число 2 настолько же информативно, как и какое-нибудь 12323752486103418341983904, если N больше обоих чисел. :)
                                Долог путь в бессмертие... я еще вернусь.
                                Профильный скилл "Телепатия" 8%
                                ТРОЛЛЬ - Троян Разрушительный Опасный, Лучше ЛинятЬ (с) Freezing Spell
                                Прошу потестить игру.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (57) « Первая ... 54 55 [56] 57 


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1830 ]   [ 14 queries used ]   [ Generated: 29.03.20, 08:51 GMT ]