На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Оставь надежду всяк сюда входящий
1) На раздел распространяются все правила форума.
2) Ответы на головоломки необходимо давать только в теге SPOILER. Сообщения в обход этого правила будут удаляться. Постоянное
нарушение данного пункта правил, повлечет за собой наказание.
3) Автор темы должен указать, известно ли ему решения задачи и сроки в которые он опубликует решение.Рекомендуется вести список отгадавших в первом сообщении.
4) При создании новой темы, в описании или в самом названии четко укажите разновидность задачи.
5) Полная версия правил раздела, находится в теме правила раздела.
Модераторы: Братец Лис
Страницы: (50) « Первая ... 41 42 [43] 44 45 ...  49 50  ( Перейти к последнему сообщению )  
> Интересные задачки
    Блин! Не хватает у меня времени на ваши интересные задачки.
    Последнюю я бы решал простым перебором, на бейсике такая программа пишется за 15 минут.
      Цитата Mikle @
      Последнюю я бы решал простым перебором, на бейсике такая программа пишется за 15 минут.


      Код - в студию!
        Код + EXE:
        Прикреплённый файлПрикреплённый файлNumber.zip (4,43 Кбайт, скачиваний: 20)
          Фи, примитив!
          Вот обобщенный вариант для разных систем счисления. Сохранить в файл и открыть в браузере:
          Скрытый текст
          ExpandedWrap disabled
            <html><body>
            <script>
             
            // находит все n-значные n-ичные числа, для которых i-тый (0..n, 0 - старший) разряд равен количеству цифр i в записи числа
             
            var partitions = 0
             
            function search () {
              var output = document.getElementById('result')
              output.innerText = ''
              var radix = Number(document.getElementById('radix').value)
              if (isNaN(radix) || radix < 2 || radix > 36) {
                alert('Введите число от 2 до 36')
                return
              }
             
              partitions = 0
              var result = []
              generate(result, radix, radix, [])
              result.sort()
              var text = (result.length ? result.join(', ') : 'подходящих чисел нет')
              output.innerText = text + ' (проверено разбиений: ' + partitions + ')' // oeis.org/A000065
            }
             
            function generate (result, radix, addendum, partResult) {
              var index = partResult.length
              var startValue = addendum - 1
              if (partResult.length) {
                startValue = Math.min(startValue, partResult[partResult.length - 1])
              }
              var partCopy = partResult.concat()
             
              var i, j
              for (i = startValue, j = addendum - startValue; i >= 1; i--, j++) {
                partCopy[index] = i
                if (j <= i) {
                  place(result, radix, partCopy.concat([j]))
                }
                if (j > 1) {
                  generate(result, radix, j, partCopy)
                }
              }
            }
             
            function place (result, radix, partResult) {
              partitions++
              var digits = new Array(radix)
              digits[0] = radix - partResult.length
              for (var i = 1; i < radix; i++) digits[i] = 0
              for (i = 0; i < partResult.length; i++) digits[partResult[i]]++
              var stats = digits.concat()
              stats.sort()
              stats.reverse()
              for (i = 0; i < radix; i++) {
                if (stats[i] != (partResult[i] ? partResult[i] : 0)) return false
              }
             
              for (i = 0; i < radix; i++) digits[i] = Number(digits[i]).toString(radix)
              result.push(digits.join(''))
            }
             
            </script>
            Количество цифр/основание (2 - 36):
            <input id="radix" type="text" value="10">
            <input type="button" value="Найти" onclick="search()">
            <hr>
            <div id="result"></div>
            </body></html>

          Впрочем, результаты получаются скучноватые.

          P. S. Исправил баги.
          Сообщение отредактировано: AVA12 -
            Цитата AVA12 @
            Фи, примитив!
            Вот обобщенный вариант для разных систем счисления.

            У меня там нигде нет числа, есть массив из десяти цифр, можно в нескольких местах константы 9 и 10 заменить на соответствующие - и будет работать в любой системе счисления.
              Цитата
              можно в нескольких местах константы 9 и 10 заменить на соответствующие - и будет работать в любой системе счисления

              Гм. Полный перебор 36^36 чисел? Ну, не знаю, как-то это сомнительно.
                Цитата AVA12 @
                Полный перебор 36^36 чисел? Ну, не знаю, как-то это сомнительно.

                Это для 36-значного 36-ричного числа? Очень много, даже с предварительным отсевом чисел, сумма цифр которых не равна его длине.
                  Как то разбирая вещи на антресолях, Вася обнаружил старую пластинку Beatles с песней в 4 минуты 12 секунд. Скорость пластинки 45 оборотов в минуту. Диаметр пластинки 45 см, диаметр этикетки 5 см, ширина дорожки 1,5 мм. Сколько дорожек на этой пластинке?
                  Сообщение отредактировано: ya2500 -
                    Вопрос из серии "Сколько мышат и котят ребята несут в Ленинград"? :)
                      Цитата ya2500 @
                      ширина дорожки 1,5 мм
                      Пластинка похоже выпущена для великанов из сказки про Джека и бобы.
                      А песня занимает 45*4.2=189 дорожек. Остальная информация - лишняя.
                      Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                        Цитата amk @
                        песня занимает 45*4.2=189 дорожек


                        Ответ неверный. Задачка - с подвохом)

                        Добавлено
                        AVA12 прав.

                        Добавлено
                        но он не дал ответ.
                          Если радиус = D/2 = 22,5 см, а радиус этикетки = 5/2 = 2,5 см, то полезное кольцо будет в 22,5 - 2,5 = 20 см = 200 мм.
                          200/1,5 = 400/3 = 133,(3) шт. дорожек.
                            Цитата amk @
                            Пластинка похоже выпущена для великанов из сказки про Джека и бобы.

                            Цитата Славян @
                            133,(3) шт. дорожек.


                            Блин, сколько недочётов в простой задачке. Времени на песню не хватает. НО - нет, это всё не так важно. Ответ другой. AVA12 прав.

                            Однако, из-за того, что задачка получилась с ошибкой, дам ответ сегодня вечером.
                            Сообщение отредактировано: ya2500 -
                              Одна дорожка

                              Добавлено
                              На пластинках всегда одна дорожка
                              Мои религиозные убеждения не позволяют мне комментировать код.
                              Моё мировоззренье таково: в программе комментария ни одного!
                                MIF, верно! (и таки дам плюс, хоть ответ и не под спойлером, блин >:( )

                                Добавлено
                                Но я не был так уж уверен, что дорожка должна быть именно одна - а что если были такие пластинки, где для стерео делалось две дорожки, для чтения двойной иглой? Поэтому я пытался подобрать числа так, чтобы на две дорожки не хватило. Но, блин, вышло так, что и на одну не хватает((
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (50) « Первая ... 41 42 [43] 44 45 ...  49 50


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1479 ]   [ 16 queries used ]   [ Generated: 21.11.19, 07:58 GMT ]