Задача про команду программистов, тимлида и таск-трекер
easy

Задача про команду программистов, тимлида и таск-трекер

Описание простое, а задачка — нет

В ИТ-стартапе тимлид решил поднять производительность и сказал, что с сегодняшнего дня будет давать задачи сразу на неделю. Мидлы получат по 17 задач, джуниоры по 12, а если у кого есть дополнительный проект — то ещё по 9 задач сверху. После митапа выяснилось, что в таск-трекере появилось 305 новых задач, потому что доппроект был у каждого третьего.

А теперь вопрос — сколько всего программистов работает в стартапе?

Обозначим количество джуниоров за d, а количество мидлов — за m. Получается, что всего они получили 17m + 12d задач. Теперь посчитаем количество дополнительных проектов — их ровно треть от общего количества программистов: (m + d) / 3. Соответственно, задач по ним будет 9 × (m + d) / 3 = 3(m + d).

Складываем всё вместе, чтобы получить 305 задач:

17m + 12d + 3(m + d) = 305

17m + 12d + 3m + 3d = 305

20m + 15d = 305 ← разделим это на 5

4m + 3d = 61

m = (61 − 3d) / 4

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

Посмотрим на все решения, которые получаются, если мы будем подставлять вместо d целые числа в (61 − 3d) / 4:

d = 0 → m = 61/4 = 15,25 — не подходит, потому что не целое число;

d = 1 → m = 58/4 = 14,5 — тоже не подходит;

d = 2 → m = 55/4 = 13,75 — и это не подходит;

d = 3 → m = 52/4 = 13 — а вот это подходит, отложим отдельно.

Так проверяем до тех пор, пока у нас не получится единица — это значит, что все числа выше будут давать в результате деления что-то меньше единицы, а это нам не подходит.

Выпишем после этого все решения, которые дают нам целые числа:

d = 3 → m = 52/4 = 13

d = 7 → m = 40/4 = 10

d = 11 → m = 28/4 = 7

d = 15 → m = 16/4 = 4

d = 19 → m = 4/4 = 1

Всё, больше 19 нет смысла проверять — результат деления будет меньше единицы.

Но у нас есть ещё одно неявное условие — дополнительные проекты были у каждого третьего. Это значит, что общее количество программистов должно нацело делиться на три. Проверим, какие пары d и m соответствуют этому условию:

d = 3, m = 13 → (3 + 13)/3 = 5,33

d = 7, m = 10 → (7 + 10)/3 = 5,66

d = 11, m = 7 → (11 + 7)/3 = 6

d = 15, m = 4 → (15 + 4)/3 = 6,33

d = 19, m = 1 → (19 + 1)/3 = 6,66

Выходит, что только одна пара попадает под это условие — 11 и 7. Получается, всего в стартапе было 11 + 7 = 18 программистов.

Обложка:

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

Корректор:

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

Вёрстка:

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

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