День рождения Оксаны

Подогнали известную загадку под нашу серию про троих друзей)

Оксана, Сережа и Саша любят разгадывать головоломки. Ребята отличаются прекрасно развитым логическим мышлением. И честностью:)

Сережа и Саша решили выяснить, когда у Оксаны день рождения. Оксана решила их озадачить и назвала 10 возможных дат:

  • 15 мая, 16 мая, 19 мая,
  • 17 июня, 18 июня,
  • 14 июля, 16 июля,
  • 14 августа, 15 августа и 17 августа.

Затем Оксана сказала Сереже только день своего рождения, а Саше — месяц.

— Я не знаю, когда у Оксаны день рождения, но знаю точно, что Сережа тоже его не знает, — сказал Саша.

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

— Тогда я тоже знаю — обрадовался Саша.

Когда у Оксаны день рождения?

Посмотреть решение

Саша, конечно, не знает, когда у Оксаны ДР, потому что ему известен только месяц, а в каждом месяце есть 2-3 варианта дат.

Сережа может сразу сказать, когда у Оксаны ДР, только если такое число встречается лишь один раз. Это 19 мая и 18 июня.

Но Саша уверен, что Сережа не знает дату дня рождения Оксаны. Значит, месяц, который ему самому назвала Оксана, точно не май и не июнь.

Остались июль и август.

После реплики Саши Сережа заявляет, что теперь он знает дату. Это означает, что известное ему число встречается в оставшемся наборе дат только единожды. То есть это точно не 14 июля или 14 августа.

Нам остаются три варианта: 16 июля, 15 августа и 17 августа.

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

День рождения Оксаны — 16 июля.

python books logo

А вы знали?

Наш телеграм канал с тестами по Python, задачами с собеседований и разбором решений.

×