- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Программирование игр и головоломок - Жак Арсак
Шрифт:
Интервал:
Закладка:
Таким образом, D может принимать 7 значений.
Для каждого из них E может принимать 6 значений.
Для каждой такой пары N может принимать 5 значений.
Отсюда следует, что нужно перепробовать 7 × 6 × 5 = 210 значений, что совершенно не затруднит компьютер…
Головоломка 9.
Будем действовать, как в предыдущей задаче. Но здесь есть некоторая дополнительная информация. В условии участвуют 10 букв:
H E L P T Y O U N G
Так как они имеют значения в виде 10 цифр, где каждая цифра участвует и притом только один раз, то
H + E + L + P + T + Y + O + U + N + G = 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7+ 8 + 9 = 45.
Если вы учтете очевидные значения букв Y, O, H, то вы сможете дать сначала значения каждому из чисел «в уме». Используя тогда соотношения между значениями букв, заданных в зашифрованном сложении, вы сможете получить соотношение между четырьмя буквами и вывести из него, что E нечетно. Отсюда вы быстро выведете, что оно может принимать не более двух значений: 3 и 5.
Испытайте их одно за другим…
Головоломка 10.
Здесь снова используются 10 цифр. Вы знаете их сумму. Она делится на 9. Вы знаете кое-что о сумме цифр результата.
Вы легко сможете заменить это умножение сложением. В нем вы сможете определить все величины «в уме». Вам останется сделать не так уж много попыток…
Головоломка 11.
Эта головоломка намного серьезнее. Если вы пойдете по пути систематических испытаний, то вы рискуете потерять время зря. Есть 9! = 362880 перестановок девяти первых цифр. Не все они подлежат проверке, поскольку крайняя слева цифра не может превосходить 3. Но остается еще очень много возможностей.
Запишите это символическое умножение и обозначьте его величины «в уме». После умножения на 3 величина «в уме» может быть только 0, 1 или 2. Замечая, что все 9 цифр, отличных от 0, использованы, вы можете узнать сумму величин «в уме» (10). Так как 6 не может быть связано с 2 «в уме», поскольку 3 × 6 + 2 = 20 дает 0 в качестве цифры единиц, а это исключено, то вы сможете таким образом полностью определить величины «в уме», связанные с этими двумя цифрами. Это разрешает задачу о решениях, оканчивающихся на 3.
Так как величины «в уме» являются ключом к задаче, составьте маленькую таблицу, показывающую для каждой цифры, как она может быть получена в качестве цифры единиц произведения некоторой цифры на 3 с добавлением величины «в уме». Например, 5 можно получить как 3 × 5 + 0, 3 × 8 + 1, 3 × 1 + 2.
Если число кончается на 9, то результат кончается на 7, и 2 оказывается «в уме». Можно почти закончить вручную. Во всяком случае вручную легко найти какое-то решение. Программа для компьютера остается необходимой для того, чтобы найти все остальные решения.
Головоломка 12.
Легко! Чтобы доказать эту теорему, достаточно доказать, что ее утверждение справедливо для любого n, кратного трем. Давайте-ка их все переберем. Сначала для каждого n вычислим первое число n, сумму кубов цифр числа n. Если n' меньше n, то дальше идти незачем. Покажите, что n' кратно трем. Если оно меньше n, то оно уже испытано, и для него результат известен.
Можете ли вы найти такое k, что при n > k имеем n' < n?
Если можете, то достаточно проверить искомое свойство для всех n, кратных трем и меньших k. Это делается очень быстро.
Головоломка 13.
Эти варианты исследуются таким же способом. Проделайте сначала вручную пробы, чтобы увидеть, как ведут себя последовательности сумм кубов цифр для чисел п, не кратных трем, различая случаи: n на единицу больше кратного трем, и на 2 единицы больше кратного трем.
В случае суммы квадратов вы знаете, какой результат нужно доказывать. Это легко…
Головоломка 14.
Изучаемое число имеет вид 1000a + 100b + 10c + d при a ≥ b ≥ c ≥ d. И, так как не все цифры одинаковы, то непременно a > d.
Вы можете доказать, что результат первого вычитания кратен девяти, так что, переходя к первой разности, вы кое-что знаете о сумме a + b + c + d.
Каково бы ни было исходное число, первая из полученных разностей имеет вид 999u + 90v с v < u, 0 ≤ v, 0 < u ≤ 9. Так что-не так уж много чисел нужно испытывать…
Головоломка 15.
Эта головоломка намного труднее. Используйте все данные задачи, хотя и кажется, что их не слишком много.
Господин P не может найти искомые числа. Следовательно, число р не является произведением двух простых чисел — в противном случае их разложение на множители было бы однозначным.
Господин S это знает. Но их сумма s может быть многими способами представлена в виде суммы двух чисел. Ни одна из этих пар не является парой простых чисел. Это условие гораздо более ограничительно: нужно вычеркнуть из списка возможных значений s все такие значения, которые являются суммами двух простых чисел — таковы 12 (так как 12 = 7 + 5), 13 (11 + 2). Компьютер позволит вам составить оставшийся список.
Господин P не может найти решение, так как его произведение может быть многими разными способами разложено в произведение двух чисел. Учитывая, что именно знает S, он исключает все пары, сумма которых вычеркнута. У него остается в точности одна пара. Каковы произведения, обладающие этим свойством?
Наконец, господин S получает решение. Следовательно, среди всех пар с суммой s есть только одна пара, дающая произведение с упомянутым выше свойством.
Компьютер нужен, чтобы порождать списки и вычеркивать в них. В конце должна оставаться одна и только одна пара.
Головоломка 16.
Я предлагаю вам решить эту задачу в два приема.
1. Составьте сначала программу по методу Полларда-Брента о «маленькими» числами, иначе говоря, такими, что машина представляет их бее округления или усечения, Это зависит от машины. Я на своей машине могу получить около 8·106, что немного. Возникают еще некоторые сомнения, как только принимаются во внимание деления…
Чтобы узнать, становится ли последовательность периодической, вы можете ограничиться рассмотрением разностей ai − aj, где i и j меняются в соответствии с вполне определенными законами, Вам следует рассматривать н. о. д. этих разностей и n. Это невыполнимо для каждой разности и потребует много времени.
Идея в том, чтобы образовать произведение на некоторое число этих разностей по модулю n, а затем брать н. о. д. этих разностей и n. Если одна из этих разностей имеет с n н. о. д., отличный от 1, то для произведения будет выполняться то же самое. Выбор числа членов для участия в произведении предоставляется вашему усмотрению. Если членов слишком мало, то вы вычисляете много н о. д. и замедляете метод. Если членов много, то вы делаете ненужные операции! вы долго ждете перед тем, как обнаружить делитель…
2. Если эта первая программа уже готова, переходите к гораздо большим числам. Нужно выполнить следующие операции:
произведение двух чисел по модулю n,
н. о. д. двух чисел, числа n и числа, меньшего n.
Настоящая трудность — это произведение по модулю n. Так как к ней часто обращаются, то она должна быть оптимальной…
Может оказаться опасным пускаться в этот метод Полларда, не зная, является ли исследуемое число составным. Используйте для этого тест Ферма.
В этом единственную трудность представляет возведение x в степень n − 1 по модулю n.
Следовательно, пусть нужно вычислить y = xp.
Примем следующую индуктивную гипотезу: искомый результат имеет вид y = ukw.
Если k есть нуль, то uk = 1 и потому у = w, и все закончено.
Если k не нуль и если k четно, то uk = u2(k/2) = (u2)k/2.
Заменяя u на u * u и k на k/2 возвращаемся к общей ситуации.
Если k нечетно, то uk = u * u2((k−1)/2)
w * uk = (w * u) * (u2)(k−1)/2
Заменим w на w * u, u на u * u и k на целую часть от k/2.
Все это должно проделываться по модулю n. Операции над k не содержат трудностей. Если числа достаточно малы, то вы действуете обычными умножениями или делениями.

