Finished basic exercises

master
mandlm 2016-10-15 12:25:56 +02:00
parent fe0781b614
commit 7bdeaff608
1 changed files with 9 additions and 6 deletions

View File

@ -3,12 +3,15 @@ module Scratch where
neg :: Integer -> Integer
neg x = (-x)
sumTo :: Integer -> [Integer] -> Integer
sumTo n nums = sumToAcc 0 n nums
sumTo20 :: [Integer] -> Integer
sumTo20 nums = sumTo20Acc 0 nums
sumTo20 nums = sumToAcc 0 20 nums
sumTo20Acc :: Integer -> [Integer] -> Integer
sumTo20Acc acc [] = acc
sumTo20Acc acc (x:xs)
| acc >= 20 = acc
| otherwise = sumTo20Acc (acc + x) xs
sumToAcc :: Integer -> Integer -> [Integer] -> Integer
sumToAcc acc _ [] = acc
sumToAcc acc n (x:xs)
| acc >= n = acc
| otherwise = sumToAcc (acc + x) n xs