Найти тему
Журнал «Код»

Недетская задача про детей

Безумный диалог двух программистов может свести с ума любого умного человека, но не вас.

На первый взгляд это очень странная и абсолютно неразрешимая задача. Но она решаемая. Если вы можете самостоятельно решить эту задачу — поставьте себе в календарь собеседование в какую-нибудь крупную ИТ-компанию, вы там произведете впечатление.

Итак, задача. Встречаются два программиста, которые давно друг друга не видели. У них происходит такой диалог:

— Я слышал, у тебя дети появились.

— Да, три сына.

— И сколько им лет?

— Ну... В сумме — тринадцать!

— Хм... Ты снова загадками говоришь? Ну ладно. Что ещё можешь сказать?

— Если возрасты перемножить, получится столько же, сколько окон вон у того дома.

Программист считает окна и прикидывает варианты.

— Но этого до сих пор недостаточно для ответа!

— Могу добавить, что мой старший сын — рыжий.

— Ну теперь совсем другое дело. Им ... (далее следует ответ).

— Правильно!

Сколько же лет им было? И как первый смог вычислить возраст?

Решение

Если вам до сих пор кажется, что эта задача — полная дичь, мы вас понимаем. И всё-таки у неё есть чёткое, логичное и точное решение.

Суть его в том, что каждый ответ второго — уточнение или подсказка для решения. И первый задавал вопросы до тех пор, пока все подсказки не привели его к правильному ответу. Давайте проследим за ходом его мыслей.

Первый ответ говорит нам о том, что всего детей — трое. Хорошо, но явно недостаточно для того, чтобы вычислить возраст.

Второй ответ говорит о том, что в сумме детям 13 лет. Давайте запишем все возможные комбинации возрастов, которые подходят под это условие:

1 + 1 + 11 = 13

1 + 2 + 10 = 13

1 + 3 + 9 = 13

1 + 4 + 8 = 13

1 + 5 + 7 = 13

1 + 6 + 6 = 13

2 + 2 + 9 = 13

2 + 3 + 8 = 13

2 + 4 + 7 = 13

2 + 5 + 6 = 13

3 + 3 + 7 = 13

3 + 4 + 6 = 13

3 + 5 + 5 = 13

4 + 4 + 5 = 13

Остальные комбинации получаются из этих простой перестановкой возрастов.

Третий ответ — произведение возрастов равно числу окон. Кажется, что это вообще никак нам не помогает, потому что мы не знаем количества окон в доме, — но это не так. Если бы этого ответа было достаточно, то первый бы сразу назвал возраст, но раз он этого не сделал, значит, информации было недостаточно.

Давайте посмотрим на произведения всех комбинаций возрастов и попробуем понять, что же с ними не так:

1 × 1 × 11 = 11

1 × 2 × 10 = 20

1 × 3 × 9 = 27

1 × 4 × 8 = 32

1 × 5 × 7 = 35

1 × 6 × 6 = 36

2 × 2 × 9 = 36

2 × 3 × 8 = 48

2 × 4 × 7 = 56

2 × 5 × 6 = 60

3 × 3 × 7 = 63

3 × 4 × 6 = 72

3 × 5 × 5 = 75

4 × 4 × 5 = 80

Раз этого ответа про количество окон оказалось недостаточно, значит в доме было столько окон, что под это число попадали сразу несколько результатов произведений. Мы выделили их в таблице. Все остальные числа давали бы однозначный ответ про возраст, а для числа 36 есть несколько вариантов, поэтому первый сказал, что этого ему недостаточно.

Четвёртый ответ — старший сын рыжий. Цвет волос нам не так важен, как количество старших сыновей. Так как «старший сын» означает, что он такой старший один, значит, вариант 1 — 6 — 6 нам не подходит, потому что в нём старших сыновей двое. Остаётся только один вариант: 2 — 2 — 9.

Ответ: старшему сыну 9 лет, двум другим — по 2 года.

Подписывайтесь на наш канал, чтобы научиться находить общий язык с коллегами.

Делитесь с нами в комментариях самыми странными диалогами из офиса

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц