Евгений Шишкин – Школьные Чародеи: Котёнок (страница 2)
Необычное желание. Не похожее на «хочу пятёрку» или «хочу, чтобы хвалили». Это было новое чувство, и Коля пока не знал, как с ним быть. Поэтому просто сидел и слушал дальше.
* * *
Мелодия из какого-то старого детского фильма – весёлая, немного сумасшедшая, явно выбранная кем-то с чувством юмора – разлетелась по коридорам, обозначая конец урока, и аудитория за несколько секунд опустела. Уроки здесь были длинными, двойными, «как в университете» – преподаватели так и говорили, с лёгкой гордостью: у нас пары. Зато перемены тоже были длинными, по полчаса, и за это время можно было многое успеть.
Например, выйти в школьный двор и немедленно оказаться в кругу своих.
Все шестеро встретились, заранее не сговариваясь, у скамейки под раскидистым платаном. Как будто каждый знал, куда нужно идти. Платан был старый, с корой, похожей на облупившуюся карту неизвестного материка, и тень у него была жидкая, почти невесомая. Солнце пробивалось сквозь листья мелкими яркими пятнами, которые не стояли на месте, а постоянно двигались. Кира сразу поправила светло-рыжий хвост – тот тут же снова попытался рассыпаться.
Первым, конечно, заговорил Артур. Иначе и быть не могло.
– А у вас тоже преподаватель начал с фразы «Забудьте всё, чему вас учили в школе»? – выпалил он, едва все собрались.
– У нас тоже, – кивнула Кира. – Только у биохимиков это звучало так: «Всё, что вы знаете о жизни, – это примерно три процента правды. Остальное – красивые сказки».
– А ещё у нас сказали, – важно добавил Арик, – что настоящий программист – это не тот, кто пишет код, а тот, кто заставляет код думать самостоятельно.
Саша слушал с легкой улыбкой на лице. Коля давно заметил: он сначала внимательно выслушивает всех остальных и только затем начинает говорить сам. Иногда это выглядело так, будто Саша давно потерял нить обсуждения, а потом вдруг оказывалось, что он уже давно всё понял и просто ждал удобного момента.
– А я сегодня научился угадывать любое число от одного до ста всего за семь вопросов, – с заметной гордостью сказал он.
Кира обернулась к нему.
– Да ладно. Покажи.
– Загадывай.
Кира задумалась на несколько секунд – наверное, выбрала не очень лёгкое число.
– Готово, – сказала она.
– Пятьдесят? – начал Саша.
– Меньше.
– Двадцать пять.
– Меньше.
– Двенадцать.
– Больше.
– Восемнадцать.
– Больше.
– Двадцать два.
– Меньше.
– Двадцать.
– Меньше.
– Двадцать один.
Кира посмотрела на Сашу с немного обиженно-удивлённым выражением лица.
– Ну… да. Двадцать один.
– Семь вопросов, – Саша выглядел довольным, как кот, который нашёл тёплое место на подоконнике.
– Подожди, – тут же сказал Артур. – Это случайность. Давай ещё раз.
Он задумался, стараясь выбрать что-нибудь хитрое. Загадал число четыре, которое Саша угадал за шесть вопросов. Потом попробовала Алиса, загадала восемьдесят девять. Ровно семь вопросов.
– Ладно, – сказала Алиса. – Объясняй.
– Давайте я, – предложил Коля. – Смотрите. Чисел от одного до ста – ровно сто. Саша называет середину – пятьдесят. Не важно, что говорит Кира – «больше» или «меньше». В любом случае останется только пятьдесят чисел: или верхняя половина, или нижняя. Например, мы теперь знаем, что неизвестное число где-то между один и пятьдесят. Берём новую середину – двадцать пять. Если ответит «меньше», то загаданное число между один и двадцать пять, а если ответит «больше» – то между двадцать пять и пятьдесят.
– Постой, – начал понимать Артур, и Коля почти увидел, как у него в мозгах что-то щёлкает. – Сначала у нас было сто подозрительных чисел, среди которых может прятаться загаданное. После первого вопроса их осталось только пятьдесят. После второго – двадцать пять. После третьего – снова вдвое меньше?
– Ага. Максимум тринадцать, – подтвердил Коля. – После четвёртого – максимум семь. После пятого – максимум четыре. После шестого – два. После седьмого – одно. То самое, которое загадано.
– Это называется «дихотомия», – сказал Саша. – Метод деления пополам. Нам сегодня про него рассказывали.
– Это же двоичный поиск, – потрясенно заявил Артур. – Нам сегодня почти то же самое рассказывали, только для программирования. Когда нужно найти одно значение в отсортированном списке, не перебирая всё подряд. Но ведь это одно и то же!
– Именно, – кивнул Арик. Он смотрел куда-то в траву и явно думал о чём-то своём. – В программировании двоичный поиск – один из базовых алгоритмов. Если данные упорядочены, он работает намного быстрее, чем перебор. Для ста элементов – семь шагов вместо ста.
– Красиво, – сказала Кира.
– Очень, – согласилась Алиса. И тут же добавила:
– А давайте я попробую.
Все посмотрели на неё.
Алиса никогда не говорила «я попробую» просто так. Коля уже заметил: если Алиса хочет «попробовать», значит, скорее всего уже знает, что должно произойти.
– Артур, – сказала она. – Загадай число.
Артур чуть прищурился. Задумался. Загадал.
Алиса молча смотрела на него. Взгляд у неё был очень сосредоточенный, как будто она читала что-то невидимое остальным. Пять секунд. Десять. Пятнадцать.
– Шестьдесят три, – сказала Алиса.
Артур поперхнулся.
– Как?! Откуда?!
Все задумались, глядя на загадочно молчащую Алису.
– Она воспользовалась своей способностью, – первым догадался Саша.
– Подожди, – возразил Артур немедленно, потому что Артур всегда возражал немедленно. – Её способность – «правда или нет». Она может только проверять утверждения. Если бы она спрашивала про каждое число по очереди – «шестьдесят три, правда?», «шестьдесят четыре, правда?» – она бы не успела так быстро. Сто чисел – это сто вопросов!
– Не нужно ста вопросов, – сказал Саша медленно. – Забыл? Методом деления пополам – всего семь. Она может спрашивать саму себя: «Число больше пятидесяти, правда?» Получает ответ. «Число больше двадцати пяти, правда?» И так далее.
Алиса слушала, чуть улыбаясь уголками губ.
– Она использовала дихотомию вместе со своей способностью, – произнёс Коля.
– Семь мысленных вопросов за десять-пятнадцать секунд, – добавил Саша. – Это реально.
Арик смотрел на Алису так, будто впервые её увидел.
– Это… – он поискал слово, – эффектно и эффективно.
– Ну да, – сказала Алиса.
– Почему ты раньше так не делала? – спросила Кира.
– Потому что я раньше не знала про дихотомию.