easy

Задача про тренера и каратиста

Помогите найти возраст чемпиона

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

Таблица с решением

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
easy
[anycomment]
Exit mobile version