import System Environment list отфильтрованный от минимального элемент

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import System.Environment
{-
list' - отфильтрованный от минимального элемента список
len - кол-во минимальных элементов в исходном списке
повторяем len раз минимальный элемент (replicate)
соединяем два списка, отфильтрованный и тот, который нам вернула replicate
-}
task xs = replicate len minElement ++ list' where
len = length xs - (length list')
minElement = minimum xs
list' = filter (/= minElement) xs
main = print (task [6, 2, 9, 3, 1, 4, 5, 1, 1])