mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-25 14:28:05 +02:00
16 lines
No EOL
469 B
Haskell
16 lines
No EOL
469 B
Haskell
module Intersect where
|
|
intersect :: (Ord t) => [t] -> [t] -> [t]
|
|
intersect a [] = []
|
|
intersect [] a = []
|
|
intersect (x:xs) (y:ys)
|
|
| x == y = x : intersect xs ys
|
|
| x < y = intersect xs (y:ys)
|
|
| y > y = intersect (x:xs) ys
|
|
|
|
intersectAll :: (Ord t) => [[t]] -> [t]
|
|
intersectAll (l:ls) = (foldr intersect l) ls
|
|
intersectAll [] = undefined
|
|
|
|
multiples n = [n*k | k <- [1..]]
|
|
commonMultiples a b c =
|
|
intersectAll [ multiples n | n <- [a,b,c]] |