Один каратист-программист после своего дня рождения заметил, что его возраст сейчас равен сумме цифр в возрасте его тренера. А через 5 лет возраст каратиста-программиста станет равен произведению цифр, из которых состоит возраст тренера.
Но сколько тогда лет каратисту сейчас?
На всякий случай скажем, что возраст тренера состоит из двух цифр.
Коктейльная задача про доли и крепость
Задача про программистов и угощение в баре
Задача про гору и альпинистов-программистов
Задача про шаблонное мышление
Сборник задач на логику для тренировки мозга
Лучшие задачи, где потребуется нестандартное мышление
Простая школьная задача про числа, с которой иногда не могут справиться взрослыеУ этой задачи есть два варианта решения: как её решил бы математик и как программист. Мы сэкономим время и сразу пойдём простым путём — заставим машину поработать за нас и просто посмотрим на правильный ответ. Для этого нам понадобятся гуглотаблицы или Эксель, чтобы они сами посчитали все данные.
Чтобы ничего не устанавливать дополнительно на компьютер, создадим новую таблицу по ссылке:
https://docs.google.com/spreadsheets/create
Теперь сделаем 2 колонки — возраст тренера и программиста. Так как возраст тренера состоит из двух цифр, то минимальное двузначное число это 10, а максимальное — 99. Начнём с минимального:

Мы не будем заполнять колонку с возрастом программиста вручную. Вместо этого мы напишем там формулу, которая сама возьмёт цифры из возраста тренера и сложит их друг с другом:
= left(A2;1) + right(A2;1)

Теперь добавим ещё пару колонок с возрастом, который будет у обоих через 5 лет. С тренером сделаем просто — возьмём возраст из первой колонки и прибавим к нему 5:
= A2 + 5

А у программиста через 5 лет возраст будет равен произведению цифр возраста тренера. Используем те же команды, что и в первом случае, только будем теперь не складывать цифры, а перемножать их, чтобы получить возраст программиста:
= left(D2;1) * right(D2;1)

Но у нас уже есть исходный возраст программиста из второй колонки, поэтому мы тоже можем прибавить к нему 5 и посмотреть, сколько на самом деле ему будет лет:

Последнее, что нам осталось сделать на этом этапе, — сравнить реальный возраст программиста через 5 лет и тот, который получился перемножением цифр возраста тренера. Для этого добавим простую проверку условия: если последние две колонки равны, то выводим 1, иначе — 0.
Создаём новую колонку и пишем такую формулу:
= if(E2 = F2; 1; 0)

Так мы проверили только один возраст, когда тренеру 10 лет. Но нам нужно проверить всё от 10 до 99 лет — для этого мы напишем под возрастом тренера в новую ячейку число 11, потом выделим эти две ячейки и протянем их вниз, до 99:

Теперь сделаем то же самое с остальными ячейками: выделим всю оставшуюся строку, начиная со второй колонки, и протянем её вниз до девяносто первой ячейки.
Выделяем…

… и протягиваем вниз:

И теперь нам осталось только посмотреть на последнюю колонку и найти там единицу — признак того, что реальный возраст каратиста совпадёт с расчётным через 5 лет. Такая строка в таблице всего одна:

Получается, что сейчас тренеру 58 лет, а каратисту-программисту — 13. Давайте это сравним с тем, что написано в условиях:
58 → 5 + 8 = 13 — совпадает с возрастом каратиста.
Через 5 лет тренеру будет 63, а каратисту — 18, что совпадает с нашими расчётами:
63 → 6 × 3 = 18 ← 13 + 5
Вот так знание основ программирования и табличных редакторов помогает решить сложную задачу за 5 минут.