Комментарии 10
Честно на загадку из вики у меня ушло 30-40 минут на решение в уме, но зачем писать программу для ее решения? загадки на то и загадки, что бы ими мозги разминать!
Зы: каждый раз у меня возникает чувство недоумения на подобное!
Поэтому я попробовал решить эту задачу "в общем виде"
но получился опять хардкод
Я уж не стал выносить комбинации условий в отдельный массив, который можно передать параметром извне... иначе даже для этого хаба будет чересчур.
Хардкод получается как раз таки из-за решения решить через SQL.
PostgreSQL поражает количеством интересных функций, которые она поддерживает.
Наверное, чтобы понять ваш запрос, мне потребуется час.
Возможностей в PG очень много - и применять их можно как с пользой, так и for fun. Например, можете еще позалипать над решателем "Небоскребов" или генератором лабиринтов.
Интересно, что ChatGPT 4o задачу решил неверно, а ChatGPT o1-preview - верно https://chatgpt.com/share/66e4219e-29c0-8010-a45d-a71c83551373
Забавно смотреть на эту новую фишку - процесс мышления.
Разберём задачу шаг за шагом, используя предоставленные утверждения:
Норвежец живёт в первом доме. (Утверждение 10)
Норвежец живёт рядом с синим домом. (Утверждение 15) Значит, второй дом — синий.
Англичанин живёт в красном доме. (Утверждение 2)
Зелёный дом стоит сразу справа от белого дома. (Утверждение 6) Значит, зелёный и белый дома — четвёртый и пятый (или наоборот).
В рассуждениях есть ошибки. Зелёный и белый - это 3 и 4, или 4 и 5.
SQL HowTo: загадка Эйнштейна, или снова Джиндош