Один каратист-программист после своего дня рождения заметил, что его возраст сейчас равен сумме цифр в возрасте его тренера. А через 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 минут.