From 1e57066bc5fdc877a01620f48e2805e11760f21b Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 30 Apr 2012 12:52:03 +0200 Subject: adding exercise 4 part 2 --- AufgabeFFP4.hs | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/AufgabeFFP4.hs b/AufgabeFFP4.hs index 4b49a61..1c10dd2 100644 --- a/AufgabeFFP4.hs +++ b/AufgabeFFP4.hs @@ -118,21 +118,16 @@ dynamic compute bnds = t bndsB :: (Integer, Integer) -> ((Integer, Integer), (Integer, Integer)) bndsB (n, k) = ((0, 0), (n, k)) -{-- | k == 0 = ((0,0), (1,1)) - | n == k = ((0,0), (1,1)) - | n < k = ((0,0), (0,0)) - | otherwise = ((0, 0), (n, k))--} -compB :: Table (Integer, Integer) (Integer, Integer) -> (Integer, Integer) -> (Integer, Integer) +compB :: Table Integer (Integer, Integer) -> (Integer, Integer) -> Integer compB t (n, k) - | k == 0 = (1, 0) - | n == k = (1, 0) - | k == 1 = (n, 0) - | n < k = (0, 0) - | otherwise = findTable t (n - 1, k - 1) - -binomDyn :: (Integer, Integer) -> (Integer, Integer) -binomDyn (m, n) = findTable t (m, n) + | k == 0 = 1 + | n == k = 1 + | k == 1 = n + | n < k = 0 + | otherwise = findTable t (n - 1, k - 1) + findTable t (n - 1, k) + +binomDyn :: (Integer, Integer) -> Integer +binomDyn (n, k) = findTable t (n, k) where - t = dynamic compB (bndsB (m, n)) - + t = dynamic compB (bndsB (n, k)) -- cgit v1.2.3