Задача Эйнштейна

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

Наша зада­ча зву­чит так:

  1. На ули­це сто­ят пять домов.
  2. Англи­ча­нин живёт в крас­ном доме.
  3. У испан­ца есть соба­ка.
  4. В зелё­ном доме пьют кофе.
  5. Укра­и­нец пьёт чай.
  6. Зелё­ный дом сто­ит сра­зу спра­ва от бело­го дома.
  7. Тот, кто май­нит Bitcoin, раз­во­дит ули­ток.
  8. В жёл­том доме май­нят Ethereum.
  9. В цен­траль­ном доме пьют моло­ко.
  10. Нор­ве­жец живёт в пер­вом доме.
  11. Сосед того, кто май­нит Stellar, дер­жит лису.
  12. В доме по сосед­ству с тем, в кото­ром дер­жат лошадь, май­нят Ethereum.
  13. Тот, кто май­нит IOTA, пьёт апель­си­но­вый сок.
  14. Япо­нец май­нит Monero.
  15. Нор­ве­жец живёт рядом с синим домом.

В целях ясно­сти сле­ду­ет доба­вить, что каж­дый из пяти домов окра­шен в свой цвет, а их жите­ли — раз­ных наци­о­наль­но­стей, вла­де­ют раз­ны­ми живот­ны­ми, пьют раз­ные напит­ки и май­нят раз­ные крип­то­ва­лю­ты. Ещё одно заме­ча­ние: в утвер­жде­нии 6 «спра­ва» озна­ча­ет спра­ва отно­си­тель­но вас.

Вопрос: кто пьёт воду, а кто дер­жит зеб­ру?

Что­бы не было спор­ных момен­тов, доба­вим сле­ду­ю­щее:

  • дома рас­по­ло­же­ны в ряд, друг за дру­гом;
  • один из жиль­цов точ­но пьёт воду, и кто-то из жиль­цов точ­но дер­жит зеб­ру.
Решение

Суть реше­ния сво­дит­ся к сле­ду­ю­ще­му: мы шаг за шагом будем брать дан­ные из усло­вий, что­бы най­ти неиз­вест­ные пока зна­че­ния, а все резуль­та­ты впи­сы­вать в такую таб­ли­цу:

Дом  1 2 3 4 5
Цвет жёл­тый синий ? ? ?
Наци­о­наль­ность нор­ве­жец ? ? ? ?
Напи­ток вода ? ? ? ?
Крип­то­ва­лю­та Ethereum ? ? ? ?
Живот­ное ? ? ? ? ?

Затем мы будем брать новые резуль­та­ты, смот­реть, как их мож­но сов­ме­стить с усло­ви­я­ми, так­же зане­сём в таб­ли­цу и ста­нем так делать до тех пор, пока не запол­ним все ячей­ки.

Разбираемся с первым домом

В п. 10 явно ска­за­но, что нор­ве­жец живёт в пер­вом доме, а если доба­вить сюда п. 15 (нор­ве­жец живёт рядом с синим домом), то ста­но­вит­ся понят­но, что вто­рой дом — синий.

Теперь раз­бе­рём­ся с цве­том пер­во­го дома. Мы уже зна­ем, что рядом с пер­вым домом сто­ит синий дом, а зна­чит это един­ствен­ный дом, кото­рый сто­ит рядом с пер­вым. Из пунк­та 6 (зелё­ный дом сто­ит сра­зу спра­ва от бело­го дома) сле­ду­ет, что пер­вый дом не может быть зелё­ным или белым — зелё­ный и белый долж­ны сто­ять рядом, а у нас рядом с пер­вым домом сто­ит синий. Оста­ют­ся крас­ный или жёл­тый. Но в крас­ном доме живёт англи­ча­нин — так напи­са­но в п. 2, поэто­му оста­ёт­ся толь­ко жёл­тый. Пер­вый дом — жёл­тый.

Смот­рим, что гово­рят нам усло­вия зада­чи про жёл­тый дом:

п. 8 — в жёл­том доме май­нят Ethereum;

п. 12 — в доме по сосед­ству с тем, в кото­ром дер­жат лошадь, май­нят Ethereum.

Но у нас рядом с домом, где май­нят Ethereum, сто­ит толь­ко вто­рой дом, поэто­му лошадь дер­жат во вто­ром доме.

Пере­хо­дим к напит­кам. Мы уже зна­ем, что в пер­вом жёл­том доме живёт нор­ве­жец, кото­рый май­нит Ethereum. Вот как это вли­я­ет на усло­вия:

  • Нор­ве­жец не пьёт чай, пото­му что это дела­ет укра­и­нец в п. 5.
  • Нор­ве­жец не пьёт кофе, пото­му что по п. 4 кофе пьют в зелё­ном доме.
  • Нор­ве­жец так­же не пьёт моло­ко, пото­му что в п. 9 напи­са­но, что в цен­траль­ном доме пьют моло­ко. Но так как пер­вый дом — не цен­траль­ный, то и моло­ко в пер­вом доме не пьют.
  • Нор­ве­жец не пьёт апель­си­но­вый сок, пото­му что соглас­но п. 13 апель­си­но­вый сок пьёт тот, кто май­нит IOTA.

Поэто­му един­ствен­ное, что оста­ёт­ся пить нор­веж­цу, — это вода. Отлич­но, мы нашли ответ на пер­вый вопрос. Не забу­дем зане­сти всю най­ден­ную инфор­ма­цию в таб­ли­цу:

Дом  1 2 3 4 5
Цвет жёл­тый синий ? ? ?
Наци­о­наль­ность нор­ве­жец ? ? ? ?
Напи­ток вода ? моло­ко ? ?
Крип­то­ва­лю­та Ethereum ? ? ? ?
Живот­ное ? лошадь ? ? ?

Всё о втором доме

Нач­нём с крип­то­ва­лю­ты.

Мы точ­но зна­ем, что это не Ethereum, пото­му что её май­нит нор­ве­жец в пер­вом доме. А ещё, раз у жиль­ца сине­го дома есть лошадь, то он точ­но не май­нит Bitcoin — в п. 7 напи­са­но, что тот, кто май­нит Bitcoin, раз­во­дит ули­ток. Давай­те пора­бо­та­ем с пред­по­ло­же­ни­я­ми и про­ве­рим, насколь­ко вер­ное каж­дое из них.

Допу­стим, что во вто­ром доме май­нят IOTA. По п. 13 (тот, кто май­нит IOTA, пьёт апель­си­но­вый сок) жилец пьёт апель­си­но­вый сок, а это зна­чит, что тут живёт не укра­и­нец, пото­му что он пьёт чай (п. 5). Это так­же не англи­ча­нин, кото­рый живёт в крас­ном доме (п. 2), и не испа­нец, пото­му что по п. 3 у испан­ца есть соба­ка. Япо­нец тоже тут жить не может, пото­му что по п. 14 япо­нец май­нит Monero, а не IOTA. Нор­ве­жец же, напом­ним, живёт в пер­вом доме. Полу­ча­ет­ся, что во вто­ром доме никто не живёт, а тако­го не может быть, сле­до­ва­тель­но, наше пред­по­ло­же­ние, что во вто­ром доме май­нят IOTA, невер­ное.

Идём даль­ше и пред­по­ло­жим, что во вто­ром доме май­нят Monero, а зна­чит, из п. 14 вид­но, что тут живёт япо­нец (япо­нец май­нит Monero). Поэто­му во вто­ром доме не пьют чай, пото­му что чай пьёт укра­и­нец (п. 5), не пьют кофе, пото­му что кофе пьют в зелё­ном доме (п. 4). А ещё здесь не пьют моло­ко — моло­ко пьют в тре­тьем доме (п. 9), и не пьют апель­си­но­вый сок, пото­му что сок пьёт люби­тель IOTA (п. 13). А раз вода уже заня­та нор­веж­цем, то полу­ча­ет­ся, что во вто­ром доме ниче­го не пьют. Тако­го не может быть, а зна­чит, наше пред­по­ло­же­ние, что во вто­ром доме май­нят Monero, невер­ное. Мы выяс­ни­ли, что там не май­нят Ethereum, Bitcoin, IOTA и Monero. Оста­ёт­ся толь­ко Stellar — её и май­нят во вто­ром доме.

Давай­те выяс­ним наци­о­наль­ность, зная назва­ние крип­то­ва­лю­ты. Это не англи­ча­нин, кото­рый живёт в крас­ном доме (п. 2), и не испа­нец с соба­кой (п. 3), пото­му что во вто­ром доме дер­жат лошадь. Ещё это не япо­нец, кото­рый май­нит Monero (п. 14), и не нор­ве­жец из пер­во­го дома. Полу­ча­ет­ся, что во вто­ром доме живёт укра­и­нец, а соглас­но п. 5 укра­и­нец пьёт чай.

Зане­сём новые дан­ные в таб­ли­цу:

Дом  1 2 3 4 5
Цвет жёл­тый синий ? ? ?
Наци­о­наль­ность нор­ве­жец укра­и­нец ? ? ?
Напи­ток вода чай моло­ко ? ?
Крип­то­ва­лю­та Ethereum Stellar ? ? ?
Живот­ное ? лошадь ? ? ?

Где живёт лиса

Исхо­дя из п. 11 (сосед того, кто май­нит Stellar, дер­жит лису), мы пони­ма­ем, что раз Stellar май­нят во вто­ром доме, то лиса живёт или в пер­вом, или в тре­тьем доме.

Допу­стим, что лиса — в тре­тьем доме. Теперь дела­ем вне­зап­ный пово­рот и зада­дим­ся вопро­сом: а что тогда пьёт чело­век из п. 7, кото­рый раз­во­дит ули­ток и май­нит Bitcoin? Он не пьёт сок, пото­му что сок пьёт люби­тель IOTA (п. 13), и моло­ко — его пьют в тре­тьем доме, где, как мы пред­по­ла­га­ем, дер­жат лису. Вода и чай уже заня­ты на преды­ду­щих эта­пах. Оста­ёт­ся толь­ко кофе, кото­рый пьют в зелё­ном доме (п. 4).

А раз так, то полу­ча­ет­ся, что в зелё­ном доме живёт чело­век, кото­рый раз­во­дит ули­ток, май­нит Bitcoin и пьёт кофе. Он точ­но не нор­ве­жец или укра­и­нец — мы это выяс­ни­ли рань­ше. И это точ­но не англи­ча­нин, кото­рый живёт в крас­ном доме (п. 2), не испа­нец, у кото­ро­го соба­ка (п. 3), и не япо­нец, кото­рый май­нит Monero (п. 14). Мы исклю­чи­ли все наци­о­наль­но­сти, а тако­го не может быть, поэто­му наше исход­ное пред­по­ло­же­ние о том, что лиса живёт в тре­тьем доме — невер­ное.

Полу­ча­ет­ся, что лиса живёт в пер­вом доме. Доба­вим это в таб­лич­ку:

Дом  1 2 3 4 5
Цвет жёл­тый синий ? ? ?
Наци­о­наль­ность нор­ве­жец укра­и­нец ? ? ?
Напи­ток вода чай моло­ко ? ?
Крип­то­ва­лю­та Ethereum Stellar ? ? ?
Живот­ное лиса лошадь ? ? ?

Третий дом

У нас оста­лось два сво­бод­ных напит­ка — кофе и апель­си­но­вый сок, кото­рые пьют в чет­вёр­том и пятом доме.

Тот, кто май­нит Bitcoin и раз­во­дит ули­ток, не живёт в доме, где пьют сок, пото­му что его пьёт люби­тель IOTA (п. 13). Зна­чит, дела­ем пред­по­ло­же­ние, что люби­тель ули­ток живёт в доме, где пьют кофе, а по п. 4 кофе пьют в зелё­ном доме. А мы толь­ко что разо­бра­ли в раз­де­ле про лису имен­но ту ситу­а­цию, когда жилец зелё­но­го дома раз­во­дит ули­ток и пьёт кофе. Тогда мы при­шли к выво­ду, что это невоз­мож­но, а зна­чит, люби­тель ули­ток не может пить кофе или сок, поэто­му он не живёт в чет­вёр­том или пятом доме.

Полу­ча­ет­ся, что люби­тель ули­ток, кото­рый май­нит Bitcoin, живёт в тре­тьем доме.

Дом  1 2 3 4 5
Цвет жёл­тый синий ? ? ?
Наци­о­наль­ность нор­ве­жец укра­и­нец ? ? ?
Напи­ток вода чай моло­ко ? ?
Крип­то­ва­лю­та Ethereum Stellar BitCoin ? ?
Живот­ное лиса лошадь улит­ки ? ?

Четвёртый и пятый дома

В зелё­ном доме пьют кофе (п. 4), а люби­тель IOTA пьёт сок (п. 13), поэто­му он не может жить в зелё­ном доме. Полу­ча­ет­ся, что в зелё­ном доме май­нят Monero, а раз так, то это — япо­нец (п. 14).

Это озна­ча­ет, что в остав­шем­ся доме пьют сок и май­нят IOTA, и дом этот на 3-м или на 4-м месте (по п. 6 — зелё­ный дом сто­ит сра­зу спра­ва от бело­го дома). Допу­стим, в тре­тьем доме живёт испа­нец, у кото­ро­го долж­на быть соба­ка (п. 3), но в таб­ли­це в тре­тьем доме уже есть улит­ки, а зна­чит, испа­нец с соба­кой живёт в чет­вёр­том доме, и как раз имен­но он пьёт сок и май­нит IOTA.

Тре­тий дом мето­дом исклю­че­ния оста­ёт­ся англи­ча­ни­ну, а это зна­чит, что тре­тий дом — крас­ный (п. 2). Полу­ча­ет­ся, что у испан­ца белый дом.

Запи­шем всё в таб­ли­цу:

Дом  1 2 3 4 5
Цвет жёл­тый синий крас­ный белый зелё­ный
Наци­о­наль­ность нор­ве­жец укра­и­нец англи­ча­нин испа­нец япо­нец
Напи­ток вода чай моло­ко сок кофе
Крип­то­ва­лю­та Ethereum Stellar BitCoin IOTA Monero
Живот­ное лиса лошадь улит­ки соба­ка ?

Зебра

У нас оста­лась одна неза­пол­нен­ная клет­ка в таб­ли­це, кото­рая тоже мето­дом исклю­че­ния доста­ёт­ся зеб­ре.

Теперь мы можем отве­тить на вопро­сы по зада­че: воду пьёт нор­ве­жец, а зеб­ру дер­жит япо­нец.

Зачем я всё это прочитал?

Тут две гипо­те­зы:

  1. Вы поня­ли прин­цип и про­скрол­ли­ли ста­тью до кон­ца, не вчи­ты­ва­ясь. Может быть, оста­но­ви­лись где-то посе­ре­дине, что­бы убе­дить­ся, что всё пра­виль­но поня­ли.
  2. Вы очень люби­те логи­ку или крип­то­ва­лю­ты.

В любом слу­чае мы вас любим, а Эйн­штейн мёртв, но дело его живо.

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