Re: [问题] 1-9位数不重复印出来

楼主: CindyLinz (Cindy Wang)   2016-11-12 16:01:39
Haskell 的例子~
import Control.Monad
import Data.Functor
import Data.List
main = do
l <- read <$> getLine
let
checkLen n = length n <= l
checkNoDup n = length (group (sort n)) == length n
nums = takeWhile checkLen $ filter checkNoDup $ map show [1..]
forM_ nums $ \n -> putStrLn n
其中 checkNoDup 是利用 group 把相同的数字分组,
然后判断组数和数字个数是不是刚好一样

Links booklink

Contact Us: admin [ a t ] ucptt.com