Munchausen numbers: Difference between revisions

m
Line 1,340:
Or, without digitToInt, but importing join, swap and bool.
<lang haskell>import Control.Monad (join)
import Data.List (unfoldr)
import Data.Bool (bool)
import Data.List (unfoldr)
import Data.Tuple (swap)
 
isMunchausen :: Integer -> Bool
isMunchausen =
(==) <*>
<*> ( foldr ((+) . join (^)) 0 .
. unfoldr
unfoldr ((flip bool Nothing . Just . swap . flip quotRem 10) <*> (0 ==)))
( ( flip bool Nothing
. Just
. swap
. flip quotRem 10
)
<*> (0 ==)
)
)
 
main :: IO ()
9,655

edits