Задача про пять с половиной разработчиков

В неде­ле, когда выхо­дит эта задач­ка, пять с поло­ви­ной рабо­чих дней. Вот вам празд­нич­ная бонус­ная задач­ка в тему. 

Условие

Пять с поло­ви­ной раз­ра­бот­чи­ков за пять с поло­ви­ной часов пишут пять с поло­ви­ной тысяч строк кода. Попро­буй­те посчи­тать, смо­гут ли 24 раз­ра­бот­чи­ка за одни сут­ки напи­сать более 105 000 строк при рав­ных навы­ках и ско­ро­сти работы? 

Подсказка

Посмот­ри­те вни­ма­тель­но на дан­ные усло­вия зада­чи — их доста­точ­но для урав­не­ния. Это урав­не­ние поз­во­лит узнать, сколь­ко строк кода пишет один раз­ра­бот­чик за один час. Ну а даль­ше эту циф­ру нуж­но умно­жить на сут­ки и на коли­че­ство разработчиков. 

Ещё обра­ти­те вни­ма­ние на фор­му­ли­ров­ку вопро­са зада­чи: нуж­но не про­сто сде­лать рас­чё­ты, но и дать финаль­ный ответ. Если подоб­ная зада­ча встре­тит­ся на пись­мен­ном собе­се­до­ва­нии в ИТ-компанию, то финаль­ный ответ дол­жен быть при­мер­но таким: резуль­тат + смо­гут напи­сать нуж­ное коли­че­ство кода или нет. В подоб­ных мело­чах рабо­то­да­тель может оце­ни­вать вни­ма­тель­ность кандидата. 

Решение

Что­бы соста­вить пра­виль­ное урав­не­ние, нам не нуж­но обра­щать вни­ма­ние на реа­ли­стич­ность усло­вия. Выра­зим всё абстракт­ным язы­ком мате­ма­ти­ки, кото­рый ниче­го не зна­ет о тру­до­спо­соб­но­сти поло­ви­ны разработчика

Состав­ля­ем урав­не­ние и рас­счи­ты­ва­ем ско­рость рабо­ты одно­го раз­ра­бот­чи­ка за один час. Для это­го мы берём общее коли­че­ство раз­ра­бот­чи­ков, делим на общее вре­мя и полу­чен­ное зна­че­ние делим на общее чис­ло строк кода. 

Полу­ча­ем уравнение: 

5,5 раз­ра­бот­чи­ков × 5,5 часов = 5500 строк кода

Счи­та­ем и упрощаем: 

30,25 раз­ра­бот­чи­ко­ча­сов = 5500 строк кода

1 раз­ра­бот­чи­ко­час = 5500 строк кода ÷ 30,25 разработчикочасов

1 раз­ра­бот­чи­ко­час ≈ 181,818 строк кода

Один раз­ра­бот­чи­ко­час — это сколь­ко один раз­ра­бот­чик пишет строк кода в час. Оста­лось перемножить: 

24 раз­ра­бот­чи­ка × 24 часа × 181,818 строк в час ≈ 104 727,168 строк кода

~ 104 727,168 строк кода < 105 000,000 строк кода

👉 Ответ: нет, не успеют

Бонус: мож­но посчи­тать, сколь­ко дол­жен писать раз­ра­бот­чик в час, что­бы успеть: 

24 раз­ра­бот­чи­ка × 24 часа = 105 000,000 стро­ка кода

576 раз­ра­бот­чи­ко­ча­сов = 105 000,000 строк кода

1 раз­ра­бот­чи­ко­час = 182,291666667 строк кода

Округ­лим вверх: 1 раз­ра­бот­чи­ко­час = 182,3 стро­ки кода

Про­вер­ка: 

182,3 × 24 × 24 = 105 004,8

👉 Ответ: что­бы успеть, раз­ра­бот­чик дол­жен писать не менее 182,3 стро­ки кода в час

Текст:

Алек­сандр Бабаскин

Редак­ту­ра:

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

Худож­ник:

Даня Бер­ков­ский

Кор­рек­тор:

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

Вёрст­ка:

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

Соц­се­ти:

Олег Веш­кур­цев