hard

Реально сложные задачи

Без шуток, мы предупредили.

Если вы любите поломать мозг над трудностями и обожаете сложности — эта подборка для вас. В каждой задаче относительно простая математика, но убийственная логика, которая, как ни странно, оказывается правильной. Если вы сможете сами решить их все без наших подсказок — напишите об этом в комментариях, IT-сфера должна знать своих героев.

Бабушка и помидоры

Бабушка решила заняться фермерским хозяйством — выращивать и продавать помидоры. Она насобирала 100 кг томатов, погрузила их на тележку и выставила с утра перед домом.

Помидоры, которые вырастила бабушка, на 99% состоят из воды, но на солнце часть воды испаряется сквозь кожуру. День выдался жарким, и к вечеру воды в помидорах стало уже 98%. Сколько теперь весят бабушкины помидоры?

Результат может оказаться неожиданным для вас, поэтому внимательно следите за расчётами.

Для начала рассчитаем состав помидоров с утра. В них было 99% воды. Это значит, что в них было 99 килограммов воды и 1 килограмм клетчатки. Эта клетчатка с утра занимала 1%:

100% — 99% = 1%.

По условию задачи, этот килограмм клетчатки не может испариться или исчезнуть, его вес всегда одинаковый. Испаряется только вода.

Задача с подвохом: Сложная задача про бабушку и домашние помидоры

Теперь считаем состав помидоров вечером: воды было уже 98%. Это значит, что количество воды уменьшилось, но вся клетчатка осталась на месте: как был килограмм с утра, так и остался. Но изменилось процентное соотношение клетчатки к воде: сейчас тот же самый килограмм клетчатки занимает 2% общего веса. Давайте посчитаем, сколько тогда вечером весят все помидоры:

2% помидоров весит 1 килограмм, а значит 20% весят 10 килограмм.

Умножаем обе части на 5, чтобы получить полный вес. Получаем:

100% = 50 кг.

Оказывается, к вечеру вес снизился вдвое! Это неинтуитивно, но так работает математика. ¯\_(ツ)_¯

Странный разговор двух программистов

Встречаются два программиста, которые давно друг друга не видели. У них происходит такой диалог:

— Я слышал, у тебя дети появились.

— Да, три сына.

— И сколько им лет?

— Ну... В сумме — тринадцать!

— Хм... Ты снова загадками говоришь? Ну ладно. Что ещё можешь сказать?

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

Программист считает окна и прикидывает варианты. 

— Но этого до сих пор недостаточно для ответа!

— Могу добавить, что мой старший сын — рыжий.

— Ну теперь совсем другое дело. Им ... (далее следует ответ).

— Правильно!

Сколько же лет им было? И как первый смог вычислить возраст?

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

Суть его в том, что каждый ответ второго — уточнение или подсказка для решения. И первый задавал вопросы до тех пор, пока все подсказки не привели его к правильному ответу. Давайте проследим за ходом его мыслей.

Первый ответ говорит нам о том, что всего детей — трое. Хорошо, но явно недостаточно для того, чтобы вычислить возраст.

Второй ответ говорит о том, что в сумме детям 13 лет. Давайте запишем все возможные комбинации возрастов, которые подходят под это условие:

1 + 1 + 11 = 13

1 + 2 + 10 = 13

1 + 3 + 9 = 13

1 + 4 + 8 = 13

1 + 5 + 7 = 13

1 + 6 + 6 = 13

2 + 2 + 9 = 13

2 + 3 + 8 = 13

2 + 4 + 7 = 13

2 + 5 + 6 = 13

3 + 3 + 7 = 13

3 + 4 + 6 = 13

3 + 5 + 5 = 13

4 + 4 + 5 = 13

Остальные комбинации получаются из этих простой перестановкой возрастов.

Третий ответ — произведение возрастов равно числу окон. Кажется, что это вообще никак нам не помогает, потому что мы не знаем количества окон в доме, — но это не так. Если бы этого ответа было достаточно, то первый бы сразу назвал возраст, но раз он этого не сделал, значит, информации было недостаточно.

Давайте посмотрим на произведения всех комбинаций возрастов и попробуем понять, что же с ними не так:

1 × 1 × 11 = 11

1 × 2 × 10 = 20

1 × 3 × 9 = 27

1 × 4 × 8 = 32

1 × 5 × 7 = 35

1 × 6 × 6 = 36

2 × 2 × 9 = 36

2 × 3 × 8 = 48

2 × 4 × 7 = 56

2 × 5 × 6 = 60

3 × 3 × 7 = 63

3 × 4 × 6 = 72

3 × 5 × 5 = 75

4 × 4 × 5 = 80

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

Четвёртый ответ — старший сын рыжий. Цвет волос нам не так важен, как количество старших сыновей. Так как «старший сын» означает, что он такой старший один, значит, вариант 1 — 6 — 6 нам не подходит, потому что в нём старших сыновей двое. Остаётся только один вариант: 2 — 2 — 9.

Ответ: старшему сыну 9 лет, двум другим — по 2 года.

Странные программисты снова разговаривают

Двоих программистов вывезли на кладбище бандиты из девяностых. Бандиты тайно выбрали 2 целых положительных числа, оба больше единицы, а их сумма меньше 100. Первому программисту бандит сказал произведение этих чисел, а второму — их сумму. После этого у программистов состоялся такой разговор.

Первый: Я понятия не имею, какая у тебя сумма.

Второй: Ха-ха, это для меня не новость! Я и так знал, что ты не знал этого.

Первый: Ага! Теперь я понял, чему равна твоя сумма!

Второй: Отлично — теперь и я тоже знаю твоё произведение!

Бандиты, конечно же, их отпустили. Потому что это загадка! А загадка в том, что это за числа и как программисты это выяснили.

В отличие от предыдущей задачи, здесь решение намного сложнее, потому что в голове нужно держать одновременно 2-3 условия, которыми надо проверять числа. Но мы справимся.

Для решения нам понадобится вспомнить, что такое простые числа и в чём их особенность. Простое число — то, которое может делиться нацело только на себя и на единицу. Например, число 5 — простое, потому что делится только на 5 и на 1. А число 6 — не простое, потому что кроме 6 и 1 оно ещё делится на 2 и 3 без остатка. Семь тоже будет простым числом, а восемь — нет, потому что кроме 8 и 1 оно делится также на 2 и 4.

Если перемножить два простых числа, то полученное произведение больше никак нельзя получить другим способом (кроме умножения этого же числа на единицу). Поясним на примере.

Возьмём два простых числа 5 и 7 и перемножим их — получится 35. Больше число 35 получить никак не получится, кроме как умножить 35 на 1. Это значит, что если произведение можно разложить на два простых множителя, то других вариантов разложения (кроме числа и единицы) у него не будет. Это нам пригодится при решении задач — и если число можно разложить на 2 простых, то и их сумму тоже легко сразу посчитать.

Ещё пример:

54 = 2 × 27

54 = 3 × 18

54 = 6 × 9, а это значит, что число 54 нельзя получить перемножением двух простых чисел и нельзя сразу сказать, чему однозначно равна сумма множителей.

И ещё:

21 = 3 × 7

Оба числа простые, поэтому произведение 21 можно получить только из них, а значит, легко посчитать сумму — она будет равна 3 + 7 = 10.

Теперь переведём их диалог на язык математики и логики и обозначим числа как n и m:

Первый: Я понял, что одно из чисел точно не простое, потому что иначе я сразу бы разложил число на произведение двух простых и легко получил сумму. А раз так, то это одно из чисел m или n можно получить перемножением двух других чисел. Поэтому общее произведение состоит не менее чем из трёх множителей, причём как минимум один из них отличается от остальных — поэтому получается несколько вариантов возможных сумм, и я не знаю, какая из них правильная (пометим это как Правило 1).

Второй: Сумму, которая у меня есть, нельзя получить из двух простых чисел, поэтому и твоё произведение тоже нельзя разложить на два простых множителя. Это значит, что у меня нечётная сумма, потому что, по гипотезе Гольдбаха, в нашем случае можно получить любое чётное число, сложив два простых. А раз это не два простых числа, значит, и сумма будет нечётная. А ещё эта сумма точно не равна сумме двух и простого числа, потому что два — тоже простое, ха! Поэтому есть несколько вариантов суммы m и n, которые подходят под твои условия, но я не могу пока определить, какие именно (пометим это как Правило 2).

Первый: Из всех множителей моего произведения я могу составить только один вариант пары, сумма которой подойдёт под твоё ограничение — не будет разбиваться на сумму двух простых или сумму чисел одного множителя (Правило 3).

Второй: Ах вот как! Из всех вариантов пар, на которые можно разбить сумму и подходящих под твои условия, есть только одна, которая позволила бы тебе определить это (Правило 4). Теперь и мне понятно, что это за числа!

Теперь подберём варианты суммы, которая была у второго. Ограничения такие:

  • нечётная;
  • не равна сумме двойки и простого числа.

1 — не подходит, потому что оба числа больше единицы.

2, 4, 6, 8… — нет, потому что чётные.

3 — нет, потому что это сумма двойки и простого числа.

5 — нет, по той же причине (2 + 3).

7 — тоже нет (2 + 5).

9 — тоже нет (2 + 7, а 7 — простое число).

11 — подходит.

13 — нет, потому что 13 = 2 + 11 (11 — простое число).

15 — нет, потому что 15 = 2 + 13 (13 — тоже простое число).

17 — подходит.

19 — нет, потому что 19 = 2 + 17 (17 — простое число).

Способ подбора суммы понятен, дальше можно продолжать по тому же алгоритму. Мы же выберем те, которые нам уже подошли, и на их примере покажем, что нужно делать дальше, чтобы получить правильный ответ. Наши числа, которые нам подходят уже сейчас: 11 и 17. Начнём с 11.

Сумма = 11.

Найдём все слагаемые, которые могут давать эту сумму:

2 + 9

3 + 8

4 + 7

5 + 6

Для каждого из них запишем произведение и проверим, выполняется ли Правило 3, которое сказал первый программист.

Смотрим на произведение 2 × 9 = 18 и как ещё его можно получить.

18 = 2 × 9 → Да (Правило 3 выполняется).

18 = 3 × 6 → Нет (Правило 3 не работает, потому что 3 + 6 = 9, а 9 можно получить из простых чисел 2 и 7).

Смотрим на произведение 3 × 8 = 24.

24 = 2 × 12 → Нет (чётная сумма, Правило 2 не работает).

24 = 3 × 8 → Да (выполняется Правило 3).

24 = 6 × 4 → Нет (чётная сумма).

Смотрим на произведение 4 × 7 = 28.

28 = 2 × 14 → Нет (чётная сумма).

28 = 4 × 7 → Да (выполняется Правило 3).

Смотрим на произведение 5 × 6 = 30.

30 = 2 × 15 → Да.

30 = 3 × 10 → Нет (Правило 3 не работает, потому что 3 + 10 = 13, а 13 можно получить суммой простых чисел 2 и 11).

30 = 5 × 6 → Да.

Тут мы вообще не можем выбрать одну пару, потому что Правило 3 выполняется 2 раза, а значит, этот вариант отбрасываем.

Получается, что для суммы 11 могут быть три варианта произведений, для которых выполняется Правило 3: 2 и 9, 3 и 8, 4 и 7. Но тогда Правило 4 не выполняется, потому что нужно, чтобы для одной суммы была только одна пара, которая подходит под правило 3. Продолжаем искать.

Сумма = 17.

Найдём все слагаемые, которые могут давать эту сумму:

2 + 15

3 + 14

4 + 13

5 + 12

6 + 11

7 + 10

8 + 9

Для каждого из них запишем произведение и проверим, выполняется ли Правило 3, которое сказал первый программист.

Смотрим на произведение 2 × 15 = 30 и как ещё его можно получить.

30 = 2 × 15 → Да.

30 = 3 × 10 → Нет (Правило 3 не работает, потому что 3 + 10 = 13, а 13 можно получить суммой простых чисел 2 и 11).

30 = 5 × 6 → Да.

Тут мы вообще не можем выбрать одну пару, потому что Правило 3 выполняется 2 раза, а значит, этот вариант отбрасываем.

 

Смотрим на произведение 3 × 14 = 42 и как ещё его можно получить:

42 = 2 × 21 → Да.

42 = 3 × 14 → Да.

42 = 6 × 7 → Нет.

Два раза выполняется Правило 3 — отбрасываем пару.

Смотрим на произведение 4 × 13 = 52 и как ещё его можно получить.

52 = 2 × 26 → Нет.

52 = 4 × 13 → Да.

Смотрим на произведение 5 × 12 = 60 и как ещё его можно получить.

60 = 2 × 30 → Нет.

60 = 3 × 20 → Да.

60 = 5 × 12 → Да.

60 = 6 × 10 → Нет.

Два раза выполняется Правило 3 — отбрасываем пару.

Смотрим на произведение 6 × 11 = 66 и как ещё его можно получить.

66 = 2 × 33 → Да.

66 = 3 × 22 → Нет.

66 = 6 × 11 → Да.

Два раза выполняется Правило 3 — отбрасываем пару.

Смотрим на произведение 7 × 10 = 70 и как ещё его можно получить.

70 = 2 × 35 → Да.

70 = 5 × 14 → Нет.

70 = 7 × 10 → Да.

Два раза выполняется Правило 3 — отбрасываем пару.

Смотрим на произведение 8 × 9 = 72 и как ещё его можно получить.

72 = 2 × 36 → Нет.

72 = 3 × 24 → Да.

72 = 4 × 18 → Нет.

72 = 6 × 12 → Нет.

72 = 8 × 9 → Да.

Два раза выполняется Правило 3 — отбрасываем пару.

Получается, что для суммы 17 может быть только один вариант произведения, для которого выполняется Правило 3: это 4 и 13. А значит, что Правило 4 тоже выполняется и мы нашли нужные числа!

Если вы дочитали досюда и всё поняли — снимаем шляпу. Вы не из тех, кого могут испугать вычисления и логический подход!

Программисты и странное знакомство

Два джуна, Аркадий и Борис, только что познакомились с Катей и спрашивают, когда у неё день рождения. Катя — технический директор и не любит отвечать прямо, поэтому предложила им десять возможных дат:

15 мая,

16 мая,

19 мая,

17 июня,

18 июня,

14 июля,

16 июля,

14 августа,

15 августа,

17 августа.

Затем она сказала Аркадию месяц своего рождения, а Борису — день. После этого состоялся диалог:

Аркадий: Я не знаю, когда у Кати день рождения, но я знаю, что Борис тоже не знает.

Борис: Хе-хе, сначала я тоже не знал, когда у неё день рождения, но теперь знаю.

Аркадий: А, ну теперь и я знаю.

Борис: Само собой.

Как они снова это сделали?

Оставим за скобками, что они могли просто сообщить друг другу день и месяц.

Здесь нет никакой магии — чистая логика. Разберём диалог по репликам.

Аркадий: я не знаю, когда у Кати день рождения, но я знаю, что Борис тоже не знает

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

Если бы Катя назвала Борису 18-е или 19-е число, Борис бы сразу понял, что это 19 мая или 18 июня, потому что эти числа встречаются только один раз. Но Аркадий мог гарантировать, что Борис не знает точной даты, только в одном случае — если бы день рождения был в июле или в августе. Иначе есть риск, что Борису назвали 19-е число из мая или 18-е из июня.

Получается, что это не может быть май или июнь, иначе нет стопроцентной гарантии, что Борису не назовут 18-е или 19-е число. Остаются июль и август.

Борис: хе-хе, сначала я тоже не знал, когда у неё день рождения, но теперь знаю

На этом моменте у нас остались такие даты: 14 июля, 14 августа, 16 июля, 15 августа, 17 августа. Борис понял, что Аркадий исключил май и июнь, и это дало ему нужную подсказку по месяцу. Получается, что это было точно не 14 число, потому что оно встречается по одному разу в каждом оставшемся месяце, и ответ Аркадия ничего бы Борису не дал.

Остаются 16 июля, 15 августа и 17 августа. Именно среди них и есть день рождения Кати, месяц которого Борис однозначно определил по числу. Мы с вами пока его ещё не знаем, но Борис в этот момент его уже вычислил.

Аркадий: А, ну теперь и я знаю

После ответа Бориса Аркадий понял, что Борис оставил себе эти три даты и по числу догадался о месяце. Нам же вместе с Аркадием нужно сделать наоборот — по месяцу догадаться о числе.

16 июля, 15 августа, 17 августа.

По условию, Аркадий знает месяц, и раз он после ответа Бориса догадался о точной дате, то это был июль. Дело в том, что если бы Аркадию назвали август, то он бы не смог однозначно выбрать, 15 или 17 августа отмечается день рождения. А раз так, то остаётся июль, а единственное оставшееся число в июле — 16-е.

Получается, что день рождения Кати — 16 июля, а Борис и Аркадий снова получают приз за самые странные диалоги.

Но пошла ли она с кем-то из них на свидание?

Самая сложная задача в мире

Имеются три разработчика: бэкенд (А), фронтенд (В) и фулстек (С). Первый всегда говорит правду, второй всегда лжёт, а третий всегда отвечает случайным образом, то есть может как соврать, так и сказать правду. Нужно за три вопроса выяснить, кто из них кто.

Ограничения и условия:

  • Программисты отвечают только фразами «Надо подумать» и «Зависит от ситуации». Одна из этих фраз означает «Да», другая — «Нет», но мы заранее не знаем, какая где.
  • Один и тот же вопрос двум разработчикам задавать нельзя (но задать два вопроса одному разработчику — можно).
  • Не обязательно задавать вопросы каждому разработчику, можно все три вопроса задать одному.
  • Вы сами решаете, кому и в каком порядке задавать вопросы.
  • Нельзя задавать философские вопросы, на которые нельзя ответить однозначно «Да» или «Нет».
  • Нельзя задавать такие вопросы, на которые невозможно ответить.

Наша задача — однозначно определить бэкенда и фронтенда, чтобы методом исключения найти фулстека.

Сложность задачи в том, что мы не знаем, что означают их ответы. Если мы что-то спросим и нам ответят «Надо подумать», то как мы поймём, это «Да» или «Нет»? Получается, что нам нужно задавать такие вопросы, чтобы уже с первого ответа понять, что на самом деле означает их «Зависит от ситуации» или «Надо подумать».

Но тратить один вопрос из трёх только чтобы выяснить это — глупо. Надо ещё получить какую-то информацию о том, кто перед нами (или кого перед нами точно нет). Значит, первый вопрос должен состоять из двух частей: дать нам новую информацию о разработчике и одновременно с этим установить, что у них означает «Зависит от ситуации» и «Надо подумать».

Например, сформулируем вопрос так: «Если я спрошу у тебя „Программист В — это фулстек?“, ты ответишь мне „Зависит от ситуации“?»

Общая схема составления подобных вопросов такая: мы формулируем какой-то вопрос про другого программиста и спрашиваем, если бы ответ был верным, ты бы ответил вот так-то? Такие вопросы помогут понять, что за программист стоит перед нами, и, что самое важное, даст нам дополнительную информацию про второго программиста.

Чтобы понять, как работают такие вопросы и почему их нужно использовать, давайте разберём, как на них отвечают бэкенд и фронтенд. Фулстека пока разбирать смысла нет: он отвечает абсолютно рандомно, и как трактовать его ответы, расскажем позже.

Например, вот вопрос: «Если я спрошу у тебя „Разработчик В — это фулстек?“, ты ответишь мне „Зависит от ситуации“?»

Если правильный ответ на заданный нами вопрос — «Да», то нам ответят «Зависит от ситуации», а если правильный ответ — «Нет», то нам ответят «Надо подумать».

Автор задачи понимал, что это утверждение нужно чем-то доказать, поэтому он сразу после текста задачи привёл доказательства своей правоты. Следите внимательно за логикой ответов.

1. Допустим, что «Зависит от ситуации» означает «Да», а «Надо подумать» означает «Нет»:

  • Мы спрашивали у бэкенда, и он ответил «Зависит от ситуации». Поскольку он всегда говорит правду и верный ответ на наш вопрос — «Зависит от ситуации», он означает «Да».
  • Мы спрашивали у бэкенда, и он ответил «Надо подумать». Поскольку он всегда говорит правду и верный ответ на наш вопрос — «Надо подумать», то он означает «Нет».
  • Мы спрашивали у фронтенда, и он ответил «Зависит от ситуации». Поскольку он всегда лжёт, то на наш вопрос он ответит «Надо подумать». Получается, что правильный ответ на вопрос — «Зависит от ситуации», который означает «Да».
  • Мы спрашивали у фронтенда, и он ответил «Надо подумать». Так как он всегда лжёт, то на наш вопрос он ответит «Зависит от ситуации». Получается, правильный ответ на вопрос — «Надо подумать», который означает «Нет».

2. Представим обратное: «Зависит от ситуации» означает «Нет», а «Надо подумать» означает «Да»:

  • Мы спрашивали у бэкенда, и он ответил «Зависит от ситуации». Поскольку он всегда говорит правду и верный ответ на наш вопрос — «Надо подумать», то его ответ означает «Да».
  • Мы спрашивали у бэкенда, и он ответил «Надо подумать». Поскольку он всегда говорит правду и верный ответ на наш вопрос будет «Зависит от ситуации», то его ответ означает «Нет».
  • Мы спрашивали у фронтенда, и он ответил «Зависит от ситуации». Так как он всегда лжёт, получается, что верный ответ на наш вопрос — «Надо подумать», и его ответ означает «Да».
  • Мы спрашивали у фронтенда, и он ответил «Надо подумать». Поскольку он всегда лжёт, то верный ответ на наш вопрос — «Зависит от ситуации», и получается, что его ответ означает «Нет».

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

Если вы три раза прочитали это, но так ничего и не поняли — это нормально, тогда просто поверьте, что доказательство верное :)

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

1. Сначала зададим второму разработчику вопрос: «Если я спрошу у тебя „Первый разработчик — это фулстек?“, ты ответишь мне „Зависит от ситуации“?»

Если второй разработчик отвечает «Зависит от ситуации», значит, либо он фулстек и отвечает абсолютно рандомно, либо он не фулстек, а на самом деле первый разработчик — фулстек. В любом варианте, третий оставшийся разработчик — это не фулстек.

Если же второй отвечает «Надо подумать», то либо он фулстек и отвечает случайным образом, либо он не фулстек, а это означает, что первый разработчик — тоже не фулстек. В любом варианте, первый разработчик — это не фулстек.

2. По первому вопросу нам стало понятно, кто из них НЕ фулстек. Спросим у него: «Если я спрошу у тебя: „Ты — фронтенд?“, ты ответишь мне „Зависит от ситуации“?» Поскольку он не фулстек, ответ «Надо подумать» означает, что он бэкенд, а ответ «Зависит от ситуации» означает, что он фронтенд.

3. Спросим у этого же разработчика «Если я у тебя спрошу: „Программист, которому я задавал свой первый вопрос — фулстек?“, ответишь ли ты „Зависит от ситуации“?» Если ответят «Зависит от ситуации» — то первый, у кого мы спрашивали, будет фулстеком, а если нам ответят «Надо подумать», то фулстеком будет программист, с которым ещё не говорили.

Последний разработчик определяется методом исключения.

Монти Холл и три шкатулки

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

Теперь у вас есть выбор: оставить себе ту шкатулку, которую вы выбрали с самого начала, или поменять её на оставшуюся неоткрытую. Как лучше поступить?

Отбросим в сторону эмоции, интуицию и прочую эзотерику и начнём решать эту задачу как программисты — дадим нашим шкатулкам имена:

  • Выбранная — шкатулка, которую мы выбрали с самого начала;
  • Пустая — ту, которую открыли после нашего выбора и показали, что она пустая;
  • Неизвестная — одна из двух невыбранных нами шкатулок, которая осталась закрытой, и на которую можно поменять нашу.

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

Если пустую шкатулку открыли случайно

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

Раз этого не произошло и никто действительно заранее не знал, в какой из шкатулок деньги, то у них теперь равные шансы на победу: вместо ⅓ они стали равны ½. У обеих шкатулок теперь одинаковая вероятность оказаться с деньгами, поэтому менять шкатулки смысла нет: математически это никак не увеличит ваши шансы. Всё, что будет дальше, уже эзотерика.

Итого. Если Пустую шкатулку открыли случайно и никто не знал заранее, что она пустая, то верная стратегия будет такой: оставить себе Выбранную шкатулку.

Пустую шкатулку выбрали специально

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

В этом случае новой информации нет, потому что шкатулка с деньгами известна заранее. А раз новой информации нет, то у Выбранной шкатулки, шансы на победу как были ⅓, так и остались. А теперь начинается магия теории вероятности: шансы на победу у Неизвестной шкатулки выросли вдвое!

Дело тут вот в чём. Раз изначально у всех шкатулок шансы были равны, то для каждой шкатулки они составляли ⅓. Когда нам умышленно открыли Пустую шкатулку, то вероятность Выбранной шкатулки не поменялась (так как новой информации нет), а вероятность Неизвестной шкатулки выросла вдвое:

⅓, которая была изначально + ⅓, которая перешла от Пустой шкатулки к Неизвестной = ⅔.

Нет новой информации — шансы не пересчитываются, а перераспределяются между теми шкатулками, содержимое которых заранее известно. Раз открывающий шкатулки знает, где деньги, значит, шансы перераспределяются между ними. А у вашей шкатулки как был шанс на победу ⅓, так и остался.

Итого. Если Пустую шкатулку открыли специально, правильная стратегия будет такой: поменять Выбранную шкатулку на Неизвестную. Это повысит ваши шансы на победу в 2 раза.

Важно понимать, что мы говорим о шансах и вероятностях, а не о конкретном единичном случае. Иначе говоря, эта стратегия будет иметь смысл, если сыграть много игр с одинаковыми условиями: сто, триста, тысячу. На одной конкретной игре эффект вероятностей не будет заметен. Поэтому вместо азартных игр мы рекомендуем коммерческое программирование.

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

В этой задаче врут почти все.

medium
За что уволили менеджера?

Иногда невнимательность может стоить работы. Сможете разобраться в ситуации?

medium
Как надевают носки настоящие программисты
Как надевают носки настоящие программисты
easy
Логическая задача
Задача имени Якубовича: три шкатулки с деньгами

Интуиция обманет вас в этой задаче. Попробуйте лучше теорию вероятностей, это легко.

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

Как логика, математика и статистика приводят к созданию новой крепкой семьи.

easy
Какой сегодня день недели? Когда выходной?
Какой сегодня день недели? Когда выходной?

А? Что? Как? Задача какая-то

easy
Как перевезти гопников и философов с одного берега на другой
Как перевезти гопников и философов с одного берега на другой

Олимпиадная задачка для старшеклассников. Но справитесь ли с ней вы?

easy
Задачка, после которой вы полюбите факториал!
Задачка, после которой вы полюбите факториал!

На тему нового года, но дело вообще не в нём

easy
Нестандартная задача про наши счастливые годы: 2020-й и 2021-й
Нестандартная задача про наши счастливые годы: 2020-й и 2021-й

С виду она очень простая, но это не так

medium
hard