Задача про программистов и угощение в баре
easy

Задача про программистов и угощение в баре

Почувствуйте себя барменом

В День программиста в один бар набилась толпа программистов. Бармен решил выяснить, на каком из языков пишет большинство из них: Python, C или Java. Он стал спрашивать это у каждого и вести счёт на доске. 

Выяснилось, что из 100 посетителей 90 могут программировать на Python, 80 — на C и 75 — на Java. Один хитрый программист предложил пари: бармен угостит всех за счёт заведения, если на трёх языках программирует меньше половины посетителей. 

Бармен согласился и внезапно проиграл спор. Как так получилось?

Бармен думал так: 

  1. В бар пришло 100 человек, каждый из которых точно знает какой-то язык программирования, а может даже и не один.
  2. После подсчёта стало ясно, что 90 пишут на одном языке, 80 на другом и 75 — на третьем.
  3. Самая маленькая группа здесь — 75 человек, которые пишут на Java, поэтому они точно входят в те 80, которые пишут на С (потому что 80 > 75), и точно входят в те 90, которые пишут на Python (потому что 90 > 75).
  4. А раз так, то 75 человек умеют писать на трёх языках.

Бармен прикинул, что 75 — это точно больше, чем половина от сотни, поэтому так легко согласился на пари, уверенный, что он его точно выиграет.

А вот картинка, которая была у бармена в голове:

Задача про программистов и угощение в баре

На самом деле было так:

  1. В бар пришло 100 человек, каждый из которых точно знает какой-то язык программирования, а может даже и не один.
  2. После подсчёта стало ясно, что 90 пишут на одном языке, 80 на другом и 75 — на третьем.
  3. Это значит, что 10 человек не пишут на Python, 20 человек не пишут на C и 25 человек не пишут на Java. 
  4. Оказалось, что это всё — разные группы, которые никак не пересекаются между собой. Это значит, что в баре оказалось 10 + 20 + 25 = 55 человек, которые не умеют писать как минимум на одном языке из трёх.
  5. Получается, что программировать на всех трёх языках могут только 100 − 55 = 45 человек, а это меньше половины от сотни, поэтому бармену пришлось угощать всех за счёт заведения.

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

Задача про программистов и угощение в баре

Художник:

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

Корректор:

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

Вёрстка:

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

Соцсети:

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

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