diff options
| -rw-r--r-- | AufgabeFFP4.hs | 25 |
1 files 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 | |||
| 118 | 118 | ||
| 119 | bndsB :: (Integer, Integer) -> ((Integer, Integer), (Integer, Integer)) | 119 | bndsB :: (Integer, Integer) -> ((Integer, Integer), (Integer, Integer)) |
| 120 | bndsB (n, k) = ((0, 0), (n, k)) | 120 | bndsB (n, k) = ((0, 0), (n, k)) |
| 121 | {-- | k == 0 = ((0,0), (1,1)) | ||
| 122 | | n == k = ((0,0), (1,1)) | ||
| 123 | | n < k = ((0,0), (0,0)) | ||
| 124 | | otherwise = ((0, 0), (n, k))--} | ||
| 125 | 121 | ||
| 126 | compB :: Table (Integer, Integer) (Integer, Integer) -> (Integer, Integer) -> (Integer, Integer) | 122 | compB :: Table Integer (Integer, Integer) -> (Integer, Integer) -> Integer |
| 127 | compB t (n, k) | 123 | compB t (n, k) |
| 128 | | k == 0 = (1, 0) | 124 | | k == 0 = 1 |
| 129 | | n == k = (1, 0) | 125 | | n == k = 1 |
| 130 | | k == 1 = (n, 0) | 126 | | k == 1 = n |
| 131 | | n < k = (0, 0) | 127 | | n < k = 0 |
| 132 | | otherwise = findTable t (n - 1, k - 1) | 128 | | otherwise = findTable t (n - 1, k - 1) + findTable t (n - 1, k) |
| 133 | 129 | ||
| 134 | binomDyn :: (Integer, Integer) -> (Integer, Integer) | 130 | binomDyn :: (Integer, Integer) -> Integer |
| 135 | binomDyn (m, n) = findTable t (m, n) | 131 | binomDyn (n, k) = findTable t (n, k) |
| 136 | where | 132 | where |
| 137 | t = dynamic compB (bndsB (m, n)) | 133 | t = dynamic compB (bndsB (n, k)) |
| 138 | |||
