summaryrefslogtreecommitdiffstats
path: root/AufgabeFFP8.hs
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