diff options
Diffstat (limited to 'h23.hs')
-rw-r--r-- | h23.hs | 21 |
1 files changed, 0 insertions, 21 deletions
@@ -1,21 +0,0 @@ -import System.Random -import Data.List - -rnd_select :: [a] -> Int -> IO [a] -rnd_select _ 0 = return [] -rnd_select (x:xs) n = - do - r <- randomRIO (0, (length xs)) - if r < n - then do - rest <- rnd_select xs (n-1) - return (x : rest) - else rnd_select xs n - -rnd_select' xs n = do - gen <- getStdGen - return $ take n [ xs !! x | x <- randomRs (0, (length xs) - 1) gen] - -rnd_select'' :: Int -> [a] -> [a] -rnd_select'' n x = map (x!!) is - where is = take n . nub $ randomRs (0, length x - 1) (mkStdGen 100) |