diff options
| author | Alexander Pankoff <ccntrq@screenri.de> | 2022-05-05 11:00:43 +0200 |
|---|---|---|
| committer | Alexander Pankoff <ccntrq@screenri.de> | 2022-05-05 11:00:43 +0200 |
| commit | a5427722c6ccca6d7fa59df29f42f39a4f519389 (patch) | |
| tree | 7c061db47d1e0d0adaf26adbd3709928c140861a | |
| parent | 6aa6f29bde36433f239d0e9110af83bda78f1299 (diff) | |
| download | perlweeklychallenge-club-a5427722c6ccca6d7fa59df29f42f39a4f519389.tar.gz perlweeklychallenge-club-a5427722c6ccca6d7fa59df29f42f39a4f519389.tar.bz2 perlweeklychallenge-club-a5427722c6ccca6d7fa59df29f42f39a4f519389.zip | |
Extract untilOneLeft
| -rw-r--r-- | challenge-163/alexander-pankoff/haskell/ch-2.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/challenge-163/alexander-pankoff/haskell/ch-2.hs b/challenge-163/alexander-pankoff/haskell/ch-2.hs index 7368d8c52b..25828e64d1 100644 --- a/challenge-163/alexander-pankoff/haskell/ch-2.hs +++ b/challenge-163/alexander-pankoff/haskell/ch-2.hs @@ -4,6 +4,9 @@ main :: IO () main = print $ summations [1 .. 5] summations :: [Int] -> Int -summations [] = 0 -summations [x] = x -summations (_ : xs) = summations $ scanl1 (+) xs
\ No newline at end of file +summations = untilOneLeft (scanl1 (+) . tail) 0 + +untilOneLeft :: ([a] -> [a]) -> a -> [a] -> a +untilOneLeft _ d [] = d +untilOneLeft _ _ [a] = a +untilOneLeft aa d as = untilOneLeft aa d (aa as)
\ No newline at end of file |
