Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- exam 24/01/2018
- ex1 :: [Int] -> Int
- ex1 [] = 0
- ex1 x = aux x 1
- where
- aux [] _ = 0
- aux (x : xs) n = ((2 ^ (n - 1)) * x) + aux xs n+1
- ex2 :: [Int] -> Int
- ex2 [] = 0
- ex2 x = sum (map (\(x, n) -> 2 ^ (n - 1) * x) (zip x [1..]))
- -- exam 24/02/2018
- ex3 :: (a -> Bool) -> [a] -> [Int]
- ex3 _ [] = []
- ex3 p x = aux p x 0
- where
- aux _ [] _ = []
- aux p (x : xs) n | p x = n : aux p xs (n + 1)
- | otherwise = aux p xs (n + 1)
- ex4 :: (a -> Bool) -> [a] -> [Int]
- ex4 _ [] = []
- ex4 p x = map snd (filter (p.fst) (zip x [0..]))
- -- exam 18/06/2018
- ex5 :: [Int] -> Int -> Int
- ex5 [] _ = 0
- ex5 x y = aux x y 0
- where
- aux [] _ _ = 0
- aux (x : xs) y n = (x * (y ^ n)) + aux xs y (n+1)
- ex6 :: [Int] -> Int -> Int
- ex6 [] _ = 0
- ex6 x y = sum (map (\(x, n) -> x * (y ^n)) (zip x [0..]))
- -- exam 24/07/2018
- ex7 :: [Int] -> Int
- ex7 [] = 0
- ex7 x = aux x 0
- where
- aux [] _ = 0
- aux (x : xs) n | n `mod` 2 == 0 = x + aux xs (n + 1)
- | otherwise = (- x) + aux xs (n + 1)
- ex8 :: [Int] -> Int
- ex8 [] = 0
- ex8 x = sum (map (\(x, n) -> if n `mod` 2 == 0 then x else - x) (zip x [0..]))
Advertisement