В соцсетях и рабочих чатах снова всплыла старая добрая логическая задачка — из тех, что идеально ложатся на офисные будни. В этот раз поводом для обсуждений стал митинг в Apple: никакого кода, никаких презентаций, только люди, встречи и рукопожатия.
Мы все знаем, что современный бигтех — это не только код, но и бесконечная череда созвонов, синхронизаций и личных встреч. В кампусе Apple тысячи сотрудников ежедневно пересекаются на рабочих встречах, чтобы создать очередной лучший iPhone в истории. Сюжет этой выдуманной задачи тоже пришел из офиса в Купертино: представим, что именно на одном из обсуждений интерфейса новой iOS и произошла такая ситуация.
Условие задачи
Начальник iOS-разработки Apple пригласил несколько человек на совещание. Каждый участник совещания, входя в кабинет, пожимал руки всем присутствующим. Сколько человек участвовали в совещании, если было всего 78 рукопожатий?
Попробуйте отвлечься от уведомлений в рабочих чатах и представить себя в том самом кабинете. Сможете ли вы быстро посчитать коллег, опираясь только на один факт?
Первая реакция — просто поделить 78 на два, ведь в рукопожатии участвуют двое. Но логика быстро подсказывает, что это ловушка. Сложность в том, что количество контактов растет не линейно, а прогрессивно с каждым новым вошедшим, а каждое рукопожатие всегда одно на двоих и никогда не повторяется.
Решение
1. Допустим, в комнате n человек.
2. Каждый из них пожал руку всем остальным, то есть (n — 1) людям.
3, Поскольку в одном рукопожатии участвуют двое, общее количество рукопожатий вычисляется по формуле: n × (n − 1) / 2.
Источник: hi-tech.mail.ru