Собранные в книге задачи разделены на шесть категорий: комбинаторные, геометрические, теоретико-числовые, логические, процедурные и словесные. Это категории не взаимоисключающие, они неизбежно перекрываются, и задачи, отнесенные нами к одной из них, можно было бы включить и в другие. Каждую задачу мы стремились облечь в форму какой-нибудь забавной истории, чтобы создать у читателя приятное настроение и тем самым вовлечь его в игру. Мы надеялись, что такое настроение позволит читателю с большей легкостью отринуть установившиеся, стандартные способы решения задач. Всякий раз, когда вам случится решать новую задачу, мы настоятельно рекомендуем обдумать ее со всех сторон, сколь бы странными и причудливыми ни казались иные подходы, вместо того чтобы напрасно тратить время на длинное и громоздкое решение.
К каждой задаче с замечательными иллюстрациями канадского графика Джима Глена мы присовокупили несколько замечаний. В них речь идет о характере задач и показывается, как во многих случаях рассмотренная нами игровая ситуация связана с важными аспектами современней математики. В некоторых случаях мы предоставляем читателю возможность испытать свои силы на еще не решенных задачах.
Стремясь облегчить поиск нестандартных решений, мы хотим обратить внимание читателя на следующие вопросы, которые иногда могут служить своего рода путеводными нитями и позволяют хотя бы приблизительно систематизировать возможные подходы:
1. Нельзя ля свести задачу к более простому случаю?
2. Нельзя ли преобразовать задачу к изоморфной задаче, легче поддающейся решению?
3. Не существует ли для решения задачи какого-нибудь простого алгоритма?
4. Нельзя ли для решения задачи применить какую-нибудь теорему из другой области математики?
5. Можно ли проверить правильность полученного решения на наглядных примерах или контрпримерах?
6. Какие аспекты задачи несущественны для решения и лишь отвлекают ваше внимание?
Не будет преувеличением сказать, что в наше время многие склонны поддаваться все более сильному искушению сводить решение всех математических задач к составлению программ для ЭВМ. Современная быстродействующая ЭВМ, проделав исчерпывающий перебор всех возможных случаев методом проб и ошибок, действительно может решить ату или иную задачу за считанные доли секунды или за несколько секунд, но на составление хорошей программы и ее отладку потребуется несколько часов или дней. Составление программы также не всегда сводится к стандартным операциям и требует своих озарений. Но удачная идея может привести к решению задачи и без обращения к ЭВМ и сделать излишним составление программы.
Было бы печально, если бы блага НТР оказали на человечество растлевающее влияние и оно интеллектуально обленилось бы настолько, что утратило бы способность к творческому мышлению. Главная цель предлагаемой вниманию читателя подборки задач и состоит в том, чтобы предоставить ему широкие возможности для оттачивания и развития способности находить нестандартные решения.
Глава 1
Комбинаторные находки
Неожиданные решения задач на составление и перечисление комбинаций
Комбинаторный анализ, или комбинаторика, занимается изучением способов составления комбинаций из предметов. Пожертвовав самую малость общностью, комбинаторный анализ можно определить как раздел математики, который занимается изучением способов объединения по заранее заданным правилам элементов в множества и свойств возникающих при таком объединении множеств.
Например, наша первая задача сводится к установлению способов объединения в множества разноцветных шариков. Требуется найти наименьшие множества шариков, удовлетворяющие определенным условиям. Во второй задаче речь идет о способах установления очередности встреч между участниками турнира по настольному теннису, разыгрываемого по олимпийской системе (важный аналог этой задачи встречается при автоматической сортировке данных).
В комбинаторном анализе часто требуется найти число всех возможных способов объединения предметов в множества по определенным правилам. С проблемой перечисления, как принято называть эту разновидность комбинаторных задач, мы познакомим читателя при подсчете числа различных маршрутов, которыми Сьюзен может следовать в школу. В нашем случае объединяемые элементы представляют собой прямолинейные отрезки маршрутов, проходимые по строкам или столбцам матрицы. Поскольку подсчет маршрутов связан с рассмотрением геометрических фигур, мы вступаем в область комбинаторной геометрии.