fac 0 = 1 fac n = n * fac (n-1) fact n = product [1..n] fakt n = foldl (*) 1 [1..n] fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) fib' n = fibs !! (n+1) where fibs = 0 : 1 : zipWith (+) fibs (tail fibs) mtf n = n `mod` 5 == 0 || n `mod` 10 == 0