blob: c2e3583bcdd9347a694e0fcfc90bb70f2e907c72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
module AufgabeFFP8
where
import Data.Char
import Data.List hiding ((\\), insert, delete)
import Test.QuickCheck
type Nat = [Int]
(\\) :: Eq a => [a] -> [a] -> [a]
xs \\ ys = filter (\x -> x `notElem` ys) xs
minfree_bv :: [Int] -> Int
minfree_bv xs = head ([0..] \\ xs)
-- checklist
--minfree_chl :: [Int] -> Int
-- countlist
--minfree_col :: [Int] -> Int
-- basic divice-and-conquer
--minfree_b :: [Int] -> Int
-- refined divice-and-conquer
--minfree_r :: [Int] -> Int
-- optimised divice-and-conquer
--minfree_o :: [Int] -> Int
--
-- basic divice-and-conquer mittels higher order function
--minfree_bhof :: [Int] -> Int
-- refined divice-and-conquer mittels higher order function
--minfree_rhof :: [Int] -> Int
-- optimised divice-and-conquer mittels higher order function
--minfree_ohof :: [Int] -> Int
-- QuickCheck part
|