Munchausen numbers: Difference between revisions
Content added Content deleted
Line 1,340: | Line 1,340: | ||
Or, without digitToInt, but importing join, swap and bool. |
Or, without digitToInt, but importing join, swap and bool. |
||
<lang haskell>import Control.Monad (join) |
<lang haskell>import Control.Monad (join) |
||
⚫ | |||
import Data.Bool (bool) |
import Data.Bool (bool) |
||
⚫ | |||
import Data.Tuple (swap) |
import Data.Tuple (swap) |
||
isMunchausen :: Integer -> Bool |
isMunchausen :: Integer -> Bool |
||
isMunchausen = |
isMunchausen = |
||
(==) |
(==) |
||
(foldr ((+) . join (^)) 0 |
<*> ( 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 () |
main :: IO () |