Ответы на конкурс для программистов

М-да, такого большого количества почты и не ожидалось. Ответы были разными, хотя прозвучало и множество правильных. Всего за два дня после публикации пришло около восьмидесяти писем, а правильные ответы содержали около двенадцати из них, причем наиболее емкие варианты решений предложили Николай Машнин и Игорь Рындевич. Это касается и времени, в течение которого ответы были присланы. И, хотя победитель должен быть один, редакция "КВ" выделяет из своего фонда сразу две подписки. Все-таки Новый год на носу. Учитывая, что к нам приходят письма и по обычной почте, возможно, будет и третий победитель, если датой отправления на конверте будут 20, 21 или 22 числа этого месяца.

Теперь перейдем к решениям. Напомним, как звучала первая задача...

Почему дети, которые плохо знают цифры, отвечают так:

  • 9+8 - говорят, что ответ равен 3.
  • 7+6 - говорят, что ответ равен 1.
  • 1+2 - говорят, что ответ равен 0.
  • 9+4 - говорят, что ответ равен 1.

А перед этим в тексте была подсказка, что данное задание на абстрактное мышление. Конечно, без него программирование вообще сложно изучить, как, в принципе, и множество научных дисциплин. Дело в том, что вторая задача достаточно быстро решалась математически, и многие, кто там получил правильный (или хоть какой-то:)) ответ, хотели на скорости пройти первую, а тут... бац! Варианты: "потому что это дети", "потому что они просто не знают цифр" и так далее - не принимаются. Один читатель на полном серьезе спросил: "А сами примеры давались случайно не на картинках для проверки дальтонизма?". Нет! В общем, весело было.

Ответы наших победителей разошлись только во взглядах. Например, Николай написал: "Первая задача решается исключительно программистским путем", а Игорь: "Ответ не совсем из области программирования, но точно абстрактный".

А, в общем и целом, дети, не зная цифр, считают замкнутые кружочки в их написании, то есть в 9-ке и 6-ке по одному такому, а в 8-ке - сразу два. Поэтому на вопрос, сколько будет 9+8, они ответят три.

Уф-ф. Теперь вторая задача. Напомним ее постановку:

"Диаметр одного колеса 75 см, второго - 90 см. Известно, что первое колесо прокрутилось на 60 оборотов больше, чем второе. Какое расстояние проехала машина?"

Требовалось решить ее без всяких уравнений с неизвестными, использования иксов и так далее. Проще говоря, "решить на пальцах". В этом, как говорится, был весь цимус.

Почитали ваши ответы... Все-таки последующее математическое образование портит мозг:), учит другим подходам:). Матриц здесь не нужно было, систем уравнений также. Просто! На пальцах!

Кстати, Игорь очень хорошо и емко описал правильное решение:

"Поскольку диаметры колес относятся как 5 к 6, то и количество оборотов на единицу пути имеет такое же отношение. То есть, когда большее колесо совершит 5 оборотов, меньшее совершит 6, другими словами - опередит на 1 оборот. Соответственно, когда одно колесо совершит на 60 оборотов больше второго, второе обернется 5*60=300 раз. Осталось умножить это количество на диаметр большего колеса и на число Пи. В результате получим 84780 см".

А Николай, как настоящий программист, сделал проверку: 84780/(3,14*75) - 60 = 84780/(3,14*90).

Среди основных ошибок, вернее, тех, которые встретились наиболее часто, можно отметить отсутствие перехода от диаметра к длине окружности. То есть, забыли умножить на число Пи.

Многие варианты с правильными ответами предусматривали чуть более громоздкие вычисления. А одного ответа я вообще не понял, где читатель то ли в шутку, то ли всерьез предположил, что машина двигается по окружности, и вычислил соответствующую цифру - ее длину. Как видите, абстрактный подход иногда и мешает. Хотя... все мы в определенной степени ходим и ездим по окружности в масштабах планеты:).

Ну и очень сильно насмешил некий студент (видно, что дело у него перед сессией идет). Так вот, на поставленный вопрос о расстоянии, которое проехала машина, он ответил: +/- 847,8 м (в зависимости от того, в какую сторону эта машина ехала). Тут даже комментировать трудно... Студент, хорошего тебе Нового года, что ли!:)


Подытожим

В большом количестве пришедших писем звучало пожелание делать побольше подобных конкурсов на страницах "КВ". И на вопрос: "Будут ли в газете подобные в 2008-м?" по просторам страны с эхом звучит ответ: "Обязательно!". Дело в том, что это планировалось еще в ноябре, когда главред вызвал вашего покорного слугу на ковер и сказал нечто типа "От каждого автора по задаче для читателей!". Впрочем, в следующем году вас ждет достаточно много положительных изменений на наших страницах - все увидите сами.

И, кстати, спасибо Сергею Матюлькову ("EffectiveSoft") за оказанную помощь при составлении этого конкурса. Хорошей вам всем трансляции и компиляции!


Интересные решения первой задачи

Когда уже количество писем перевалило за добрую сотню, стали появляться просто удивительные варианты. На самом деле, многие из читателей пошли в решении "задания с детским восприятием" гораздо дальше и глубже. Приведем некоторые интересные решения...

Анатолий: "О детях, которые плохо знают цифры. Они видят: 9 как 0; 8 как 3; 7 как 1; 6 как 0; 4 как 1; 2 принимают за 5.

Поэтому:

9+8 превращают в 0+3=3;

7+6 превращают в 1+0=1;

1+2 превращают в 1+5=6, что видится как 0;

9+4 превращают в 0+1=1".

Этот ответ интересен тем, что используется вариант образного мышления, составления подобия образов.

А вот Ксения предложила свое видение, которое также интересно. Вот что она пишет:

"Маленькое предисловие: не совсем понятно, почему 9+8 = 3, а для остальных случаев решение вполне может сгодиться.

Если дети путают цифры (а также знаки математических операций), а кроме всего прочего, умеют считать в двоичной системе счисления (что весьма странно), то можно придумать такое:

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

тогда, заменив "+" на "-", получаем

9+8 = 1001 + 1000 = 1

7+6 = 0111+ 0110 = 1

1+2 = 0001 + 0010 = 0

9+4 = 1001+ 0100 = 1

Ребенок просто смотрит на количество единичек слева и отнимает количество единичек справа. Например (для 9+4), если убрать нули, а единички заменить палочками, то

|| - | = |

Было 2 палочки, забрали 1 - осталась одна. Ну, 3 в случае 9+8 можно получить, только если ребенок случайно сложил 2 палочки и одну. Вот такое наивное объяснение :)".

Вы чувствуете, дорогие читатели, какие люди держат в руках эту газету? С каких невероятных сторон начинают копать, при этом получают более-менее правильные, с точки зрения абстрактной логики, ответы. Честно сказать, до двоичных кодов и замены знаков ваш покорный слуга никогда бы не додумался! Как и многие другие. Причем, если честно, эти четыре примера на сложение просто были взяты случайно. А под них уже такое объяснение сделали... В общем, участвуйте в следующих конкурсах, нетрадиционный ход мыслей всегда интересен.

Кристофер,
christopher@tut.by

Версия для печатиВерсия для печати

Номер: 

52 за 2007 год

Рубрика: 

Self-test
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!