久しぶりの Haskell
そして久しぶりの Project Euler。今は単純作業なお仕事ばかりやっているのでパズルで気分転換。
isEquiv [] [] = True isEquiv (x:xs) ys | elem x ys = isEquiv xs $ filter (/=x) ys | otherwise = False isEquiv _ _ = False isOK x = let (n:ns) = map show $ map ($x) [*1,*2,*3,*4,*5,*6] in all (isEquiv n) ns main = print $ head $ dropWhile (not . isOK) [1..]
適当だけど答えはあってたのでいいや。寝る。