Last active
December 25, 2015 12:59
-
-
Save pbalduino/6980752 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns logic.core | |
(use [clojure.math.combinatorics])) | |
(defn solve-logic-puzzle-1 [] | |
"http://rachacuca.com.br/logica/problemas/1/" | |
(let [people [:espanhol :alemao :italiano]] | |
(first | |
(for [[casa1 casa2 casa3] (permutations people) ; casas | |
[azul vermelha preta] (permutations people) ; cores | |
; O Espanhol mora diretamente à direita do homem que mora na casa vermelha. | |
:when (not= :espanhol vermelha) | |
:when (not= :espanhol casa1) | |
:when (not= :vermelha casa3) | |
; O Alemão mora na casa azul. | |
:when (= :alemao azul) | |
; O Italiano mora na segunda casa. | |
:when (= :italiano casa2)] | |
(array-map | |
:azul azul :vermelha vermelha :preta preta | |
:casa1 casa1 :casa2 casa2 :casa3 casa3))))) | |
(defn -main[] | |
(println (solve-logic-puzzle-1))) | |
; Saída | |
; {:azul :alemao, | |
; :vermelha :italiano, | |
; :preta :espanhol, | |
; :casa1 :alemao, | |
; :casa2 :italiano, | |
; :casa3 :espanhol} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment