锁定老帖子 主题:测试你逻辑推理能力(1)..猜猜谁是鼓手!
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-12
最后修改:2010-07-25
程序员,固然需要很强的逻辑能力.所以找到一些很有意思的逻辑推理题,练习练习,学会更多的思维方式.来解决各类问题.
《鼓 手》 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-08-04
阿琳是鼓手吧
|
|
返回顶楼 | |
发表时间:2009-08-05
唐纳德
|
|
返回顶楼 | |
发表时间:2009-08-06
唐纳德(小提琴手)
伯顿(长笛手) 阿琳(鼓手) 谢里尔(钢琴手) |
|
返回顶楼 | |
发表时间:2009-08-06
最后修改:2009-08-06
[(BD,Male,Flute),(XLE,Female,Drum),(AL,Female,Piano),(TND,Male,Violin)]
import Data.List data Sex = Male | Female deriving (Show) data People = AL | XLE | BD | TND deriving (Show) data Major = Piano | Violin | Flute | Drum deriving (Eq, Show) condition1 [ (BD, _, _), _, (_, _, Piano), _ ] = True condition1 _ = False condition2 [ _, (TND, _, _), _, (_, _, Flute) ] = False condition2 [ (_, _, Flute), _, (TND, _, _), _ ] = False condition2 [ _, (_, _, Flute), _, (TND, _, _) ] = False condition2 _ = True condition3 [ _, (AL, _, _), (_, _, Violin), _ ] = True condition3 [ _, _, (AL, _, _), (_, _, Violin) ] = True condition3 [ (_, _, Violin), _, _, (AL, _, _) ] = True condition3 _ = False condition4 [ _, (XLE, _, _), (_, _, Drum), _ ] = False condition4 [ _, _, (XLE, _, _), (_, _, Drum) ] = False condition4 [ (_, _, Drum), _, _, (XLE, _, _) ] = False condition4 _ = True condition5 a = case (filter (\ (_, _, m) -> m == Drum || m == Flute ) a) of [ (_, Male, _), (_, Female, _) ] -> True [ (_, Female, _), (_, Male, _) ] -> True _ -> False main = do putStrLn $ show $ filter (\ a -> condition1 a && condition2 a && condition3 a && condition4 a && condition5 a ) $ foldl (\ a b -> a ++ (map (\ c -> zipWith (\ (g, h) i -> (g, h, i) ) b c ) $ permutations [ Piano, Violin, Flute, Drum ]) ) [] $ permutations [ (AL, Female) , (XLE, Female) , (BD, Male) , (TND, Male) ] |
|
返回顶楼 | |
发表时间:2009-08-06
whirlwind 写道 唐纳德(小提琴手)
伯顿(长笛手) 阿琳(鼓手) 谢里尔(钢琴手) 人家第一个条件:伯顿对面是钢琴手…… |
|
返回顶楼 | |
发表时间:2009-08-12
唐纳德(小提琴手)
阿琳(钢琴手) 伯顿(长笛) 谢里尔(鼓手) 用JAVA算了半天终于算出来了 |
|
返回顶楼 | |
发表时间:2009-08-12
汗,我用haskell算也就是一眨眼的事……
|
|
返回顶楼 | |
发表时间:2009-08-12
是啊,这就是差距啊,我看了你的haskell,还特意去下载了一个haskell来看一看,以前听都没有听过这个语言。真是孤陋寡闻啊。
受教了,呵呵。 |
|
返回顶楼 | |
发表时间:2009-08-14
牛X,第一次用JAVA来算。算了我好久,终于算出来了。
|
|
返回顶楼 | |