fork download
  1. f n = 2 : [4, 6 .. m] where m = if even n then n else n - 1
  2. g n = [2,4..m] where m = if (odd n) then n-1 else n
  3.  
  4. p n = putStrLn $ show n ++ " = " ++ show (f n) ++ " = " ++ show (g n)
  5.  
  6. main = mapM_ p [0, 1, 2, 3, 4, 5, 6, 7]
Success #stdin #stdout 0s 6228KB
stdin
Standard input is empty
stdout
0 = [2] = []
1 = [2] = []
2 = [2] = [2]
3 = [2] = [2]
4 = [2,4] = [2,4]
5 = [2,4] = [2,4]
6 = [2,4,6] = [2,4,6]
7 = [2,4,6] = [2,4,6]