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

Почему один программист уходит с работы раньше, чем второй

Несложная математическая задача, чтобы размять мозги. 

Один тестировщик заметил, что его коллега всё время уходит с работы на 2 часа раньше него. Как-то перед очередным таким уходом он спросил:

— Слушай, а почему ты всё время уходишь раньше меня?

— Потому что я ухожу сразу, как делаю норму в 80 тестов в день, а ты хочешь премию, поэтому делаешь 90 тестов.

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

— Просто делай на один тест в час больше, чем сейчас, — ответил продуктивный коллега и ушёл домой.

👉 Сколько тестов в час нужно делать второму тестировщику, чтобы тоже уходить домой пораньше, как первый?

Мы не знаем, сколько часов в день работает первый тестировщик, поэтому обозначим это время за X. Тогда второй тестировщик, который уходит на 2 часа позже, работает X+2 часов в день.

Получается, что первый делает 80 / X тестов в час, а второй — 90 / (X + 2) тестов в час. 

Мы знаем, что если он будет делать на 1 тест в час больше, то сравняется по скорости с первым тестировщиком. Запишем это в виде равенства:

80 / X = (90 / (X + 2)) + 1

В правой части у нас есть дробь с делителем (X + 2). Чтобы прибавить единицу к этой дроби, применим математический трюк — сделаем её тоже в виде дроби с таким же знаменателем:

1 = (X + 2) / (X + 2)

Возникает вопрос, насколько правомерна эта замена: например, есть ли условия, при которых в знаменателе будет ноль? Смотрим: у нас рабочие часы всегда будут положительным числом. Чтобы в знаменателе был ноль, X должен быть равен минус двум, а такого рабочего времени быть не может. Значит, мы ничего не ломаем, такая подстановка возможна:

80 / X = (90 / (X + 2)) + 1

 

80 / X = (90 / (X + 2)) + (X + 2) / (X + 2)

Для наглядности нарисуем это в более традиционном формульном виде: 

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

Складываем дроби справа: 

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

Чтобы избавиться от дроби, нам нужно перемножить левую и правую часть на произведение делителей, то есть на X × (X + 2): 

80 × (X + 2) = (92 + X) × X

Ну а дальше изи:

80X + 160 = 92X + X²

Переносим всё в правую часть и получаем квадратное уравнение:

X² +92X – 80X – 160 = 0

X² + 12X – 160 = 0

Решаем его через любой онлайн-калькулятор квадратных уравнений и получаем два ответа: X = 8 и X = –20. Так как у нас количество рабочих часов не может быть отрицательным, то остаётся только один ответ — 8 часов работает первый тестировщик и делает 80 / 8 = 10 тестов в час.

Получается, что второму тестировщику тоже нужно делать 10 тестов в час.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

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

Корректор:

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

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Любите математику? Это для вас
Попробуйте бесплатный тренажер «Основы математики для цифровых профессий». Это все необходимые знания, чтобы закрыть пробелы в математике для айтишника.
Попробовать бесплатно
Любите математику? Это для вас Любите математику? Это для вас Любите математику? Это для вас Любите математику? Это для вас
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
easy