-- 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..]))
Comments
0 B
|0 👍
/0 👎
0 B
|👍
/👎