А вам слабо?

Discussion in 'Болталка' started by D1mOn, 19 Feb 2006.

  1. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    Загадка Энштейна

    1. Есть 5 домов разного цвета.
    2. В каждом доме живёт 1 человек: англичанин, немец, датчанин, норвежец, швед.
    3. Каждый пьёт определённый напиток, курит определённую марку сигарет и держит животное.
    4. Совпадений нет: т.е у каждого человека своё животное, своя марка сигарет и неповторяющийся напиток.
    Вопрос:

    Кому принадлежит рыба?

    Подсказки:

    1. Англичанин живёт в красном доме.
    2. Швед держит собаку.
    3. Датчанин пьёт чай.
    4. Зелёный дом стоит справа от белого.
    5. Жилец зелёного дома пьёт кофе.
    6. Курящий Pall Mall держит птицу.
    7. Жилец среднего дома пьёт молоко.
    8. Жилец жёлтого дома курит Dunhill.
    9. Норвежец живёт в 1-ом доме.
    10. Курильщик Marlboro живет около того, кто держит кошку
    11. Держащий лошадь живёт около того, кто курит Dunhill.
    12. Курильщик Winfield пьёт пиво.
    13. Норвежец живёт около голубого дома.
    14. Немец курит Rothmans
    15. Курильщик Marllboro живёт по соседству с тем, кто пьёт воду.

    Ну вот собственно такая загадка. Попробуйте разгадать) Я сам ещё не разгадал, но у моей двадцатилетней сестры это получилось за 1 час 40 минут))) Ответа я тоже не знаю пока)
     
    #1 D1mOn, 19 Feb 2006
    Last edited by a moderator: 19 Feb 2006
  2. Jonathan Allen

    Joined:
    21 Mar 2005
    Messages:
    62
    Likes Received:
    6
    Reputations:
    2
    Создаешь в SQL неколько таблиц с ключами и группами, таблицы групп, настраиваешь группы, связи, а потом фуячишь select с кучей join и получаешь результат

    domains
    loc = first; second; middle; third; last

    predicates
    left_neighbor(loc,loc)
    next_to(loc,loc)
    is_not(loc,loc)
    first_to(loc,loc)
    differ(loc,loc,loc,loc,loc)

    clauses
    left_neightbor(last,third).
    left_neightbor(third,middle).
    left_neightbor(middle,second).
    left_neightbor(second,first).

    next_to(x,y) :-
    left_neightbor(x,y).
    next_to(x,y) :-
    left_neightbor(y,x).

    right_to(x,y) :-
    left_neightbor(x,y).
    right_to(x,y) :-
    left_neightbor(x,z), right_to(z,y).

    is_not(x,y) :-
    right_to(x,y).
    is_not(x,y) :-
    right_to(y,x).

    differ(x1,x2,x3,x4,x5) :-
    is_not(x1,x2), is_not(x1,x3), is_not(x1,x4), is_not(x1,x5),
    is_not(x2,x3), is_not(x2,x4), is_not(x2,x5),
    is_not(x3,x4), is_not(x3,x5),
    is_not(x4,x5).

    goal
    Englishmen = Redhouse, % 1
    Swede = Dogowner, % 2
    Dutch = Teadrinker, % 3
    left_neightbor(Greenhouse,Whitehouse), % 4
    Coffeedrinker = Greenhouse, % 5
    Pallmallsmoker = Birdyowner, % 6
    Milkdrinker = middle, % 7
    Dunhillsmoker = Yellowhouse, % 8
    Norwegian = first, % 9
    next_to(Marlborosmoker,Catowner), % 10
    next_to(Dunhillsmoker,Horseowner), % 11
    Winfieldsmoker = Beerdrinker, % 12
    next_to(Norwegian,Bluehouse), % 13
    German = Rothmanssmoker, % 14
    next_to(Marlborosmoker,Waterdrinker), % 15
    differ(Greenhouse,Yellowhouse,Redhouse,Whitehouse,
    Bluehouse), % дома разные
    differ(Fishowner,Catowner,Horseowner,Birdyowner,Do
    gowner), % жывотные тоже разные
    differ(Beerdrinker,Milkdrinker,Teadrinker,Coffeedr
    inker,Waterdrinker), % напитков адинаковых нет
    differ(Englishman,Swede,Norwegian,German,Dutch), % никакого космополитизъма
    differ(Dunhillsmoker,Pallmallsmoker,Marlborosmoker
    ,Winfieldsmoker,Rothmanssmoker). % ахтунг!

    Желтый. Синий... Красный. Зеленый Белый
    Норвежe Датчанин Англичан Немец.. Швед
    Кот.... Лошадь.. Птичка.. Рыбка.. Собака
    Вода... Чай..... Молоко.. Кофе... Пиво
    Dunhill Marlboro PallMall Rotmans Winfield
     
  3. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    лоль......
    antares :)
     
  4. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    У немца ! Решал 40 минут

    Нда, ну и тугодум)
     
    #4 Zadoxlik, 19 Feb 2006
    Last edited: 19 Feb 2006
  5. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    PHP:
    кто           жывотное        сигареты    пьет      дом     нумер
    англ          птица           палмал      молоко    красный 3
    датчанин      лошадь          марлборо    чай       голубой 2
    немец         РЫБА            ротхманс    кофе      зеленый 5
    норвежец      кошка           дунхилл     вода      желтый  1
    швед          собака          венфиелд    пиво      белый   4
    Если меня сглюкало, поправьте =)
     
  6. NeMiNeM

    NeMiNeM Elder - Старейшина

    Joined:
    22 Aug 2005
    Messages:
    480
    Likes Received:
    308
    Reputations:
    201
    1. Желтый 2. !Голубой! 3. Красный 4.!Белый! 5.!Зелёный!
    Дunhill--------Лошадь ------ !Молоко!----- Winfield -- !Кофе!
    !Норвежец! -- Мальборо ---- Англич -- -- Пиво --- Немец
    Кошка ---- Датчанин ----- Птица --- -- Швед ----- Rothmans
    Вода ------- Чай -------- PallMal ---- Собака ------РЫБКА

    У немца..
    Решил гдето за 35минут.. На самом деле не очень сложно=))
     
  7. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    Я знаю ответ ))) Рыба у меня... Решил за пару секунд ))) У меня дома рыбки в аквариуме, дом жёлтый, курю честер, пью водку...
     
  8. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    Отсюда вывод:
    либо Энштейн был не так умен, как представляется
    либо люди очень быстро эволюционируют
    либо у нас тут собрались самые головастые парни Земли =)
     
  9. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    думаю третье)))
    ЗЫ и я думаю если Эйнштей хотел сделать сложней он бы сделал)
     
  10. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    Я думаю что Эйнштейн не знал о sql :)
     
  11. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    Это нечестно
     
  12. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    Нечестно конечно. Со стороны нас было нечестно. Смысл загадки в том, что её нужно решить в уме. имхо.
     
  13. k1b0rg

    k1b0rg Тут может быть ваша реклама.

    Joined:
    30 Jul 2005
    Messages:
    1,182
    Likes Received:
    399
    Reputations:
    479
    помойму логика программера и должна заключаться, как бы сделать быстрее и элегатнее, а не честно и очень долго =)))
     
  14. ZaCo

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    ну я самый элегантный... посмотрел ответ за полсекнуды:)
     
  15. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    Нет, программа за тебя все делает, надо мозг упражнять.
     
  16. virgoz

    virgoz Elder - Старейшина

    Joined:
    16 Sep 2004
    Messages:
    151
    Likes Received:
    28
    Reputations:
    15
    ееееееее :)))
    |норвежец|желтый|Dunhill|кошка|вода|
    |датчанин|голубой|Marllboro|лошадь|чай|
    |англичанин|красный|Pall Mall|птица|молоко|
    |швед|белый|Winfileld|собака|пиво|
    |немец|зеленый|Rothmans|рыба|кофе|