diff --git a/unilectures.hs/selfDescribing.hs b/unilectures.hs/selfDescribing.hs new file mode 100644 index 0000000..c26dece --- /dev/null +++ b/unilectures.hs/selfDescribing.hs @@ -0,0 +1,11 @@ +import Data.List +import Control.Monad (ap) + +isSelfDescribing n = sn == desc sn + where desc = concatMap (show . pred . length) . group . sort . (['0'..to] ++) + to = head $ show $ pred $ length sn + sn = show n + +selfDescribing = filter isSelfDescribing [1 ..] + +main = print selfDescribing