Карточки для отгадывания чисел можно составлять на основе не только двоичной, но и любой другой системы счисления. Например, с помощью рис.
Три карточки для отгадывания любого числа от 1 до 26, составленные на основе этого правила, приведены на рис.
Пусть кто-нибудь задумает любое число от 1 до 26. Попросите его отобрать карточки с задуманным числом и, возвращая их вам, назвать, сколько раз оно встречается на каждой из них. При суммировании ключевые числа тех карточек, на которых задуманное число встречается дважды, необходимо удвоить.
Возможно, вы захотите расширить набор с трех до шести троичных карточек. Как мы уже знаем, шесть двоичных карточек позволяют отгадывать любое число от 1 до 63. Шесть троичных карточек позволяют отгадывать любое число от 1 до 728. Теперь уже вам ясно, каким образом можно составить карточки для отгадывания чисел на основе системы счисления с любым основанием больше 3. Например, если мы остановим свой выбор на системе счисления с основанием 4, то одни числа будут встречаться на карточках по одному разу, другие — дважды, а третьи — трижды, и при суммировании вам придется одни ключевые числа брать сами по себе (с коэффициентом 1), другие — удвоенными, а третьи — утроенными.
Четверичные карточки показывают, что «троичная сортировка» в некоторых отношениях превосходит двоичную. Если мы будем последовательно делить множество не на 2, а на 3 части и каждый раз нам будут говорить, какая из частей содержит выделенный элемент, то найти его можно, задавая меньше вопросов. Разумеется, сами вопросы становятся более сложными: если раньше они требовали «двоичных» ответов («да» или «нет»), то теперь ответ на каждый вопрос должен быть «троичным».
Необычайные возможности, таящиеся в троичной сортировке, наглядно демонстрирует следующий карточный фокус. Пусть кто-нибудь из зрителей задумает любую из 3^3 = 27 отобранных вами карт. Сдайте отобранные карты в три стопки, переворачивая каждую карту перед тем, как выложить ее на стол, вверх лицом, попросите зрителя указать, в какой из стопок находится задуманная им карта, после чего сложите стопки вместе и повторите всю процедуру еще дважды. Сложив стопки в третий раз, попросите зрителя назвать вслух задуманную карту и, сняв верхнюю карту, покажите ее всем зрителям. У вас в руках окажется задуманная карта! Фокус можно показывать сколько угодно раз, не опасаясь «осечек» — их нет и быть не может!
Секрет фокуса прост: необходимо лишь всякий раз, когда вы складываете стопки, держа карты вверх рубашкой, стопку с задуманной картой класть поверх остальных. Неукоснительно придерживаясь этого правила, вы будете автоматически производить троичную сортировку карт, которая и заставит «всплыть» задуманную карту из глубин.
Нетрудно понять, почему так происходит. Принцип здесь тот же, что и при отгадывании телефонного номера, только множество делится каждый раз не на две, а на три равные или почти равные части. После первой сдачи задуманная карта оказывается среди 9 верхних карт, после второй сдачи она оказывается уже среди 3 верхних карт, а после третьей сдачи оказывается первой картой сверху. Если вы проделаете всю процедуру от начала до конца, держа карты вниз рубашкой и сдавая их снизу, то сможете наблюдать, как задуманная карта постепенно, в три этапа, спускается «на дно» перевернутой мини-колоды. Автоматическая сортировка элементов различных множеств, основанная на аналогичных принципах, играет важную роль в современной информатике — науке о накоплении, хранении и обработке информации.
Унесенная ветром
Боб и Элен решили провести летние каникулы в лесах штата Мэн, где в хижине жил дядюшка Генри.
Чтобы добраться до хижины, Бобу и Элен пришлось нанять лодку и идти на веслах вверх по течению.
Разумеется, грести вызвался Боб, а Элен села на руль. В 2 часа дня Элен сняла свою новую соломенную шляпку и повесила ее на румпель у себя за спиной.
Порывом ветра шляпку унесло, но ни Элен, ни Боб не заметили, когда это случилось.
Они успели отмахать на веслах 3 км вверх по течению, прежде чем Элен вспомнила о шляпке.
Делать нечего! Пришлось повернуть назад. Боб налег на весла, и некоторое время спустя лодка настигла шляпку, плывшую по реке.
Предположим, что лодка всегда движется по воде со скоростью 6 км/ч, а скорость течения реки 2 км/ч.
В котором часу Боб и Элен догнали шляпку?
Вам удалось набрести на какую-нибудь идею, позволяющую легко и просто решить задачу? Хотите верьте, хотите проверьте, но течение одинаково сказывается на движении лодки и шляпки, и его воздействием можно пренебречь.