Mosaic matrix: Difference between revisions

→‎{{header|Haskell}}: Added a Haskell version
(→‎{{header|Python}}: Added a functionally composed version.)
(→‎{{header|Haskell}}: Added a Haskell version)
Line 367:
. 1 . 1 . 1 . 1
</pre>
 
=={{header|Haskell}}==
<lang haskell>import Data.Matrix (Matrix, matrix)
 
mosaic :: Int -> Matrix Int
mosaic n =
let go (row, col) = succ (col + row) `rem` 2
in matrix n n go
 
main :: IO ()
main = mapM_ print $ mosaic <$> [7, 8]</lang>
{{Out}}
<pre>┌ ┐
│ 1 0 1 0 1 0 1 │
│ 0 1 0 1 0 1 0 │
│ 1 0 1 0 1 0 1 │
│ 0 1 0 1 0 1 0 │
│ 1 0 1 0 1 0 1 │
│ 0 1 0 1 0 1 0 │
│ 1 0 1 0 1 0 1 │
└ ┘
┌ ┐
│ 1 0 1 0 1 0 1 0 │
│ 0 1 0 1 0 1 0 1 │
│ 1 0 1 0 1 0 1 0 │
│ 0 1 0 1 0 1 0 1 │
│ 1 0 1 0 1 0 1 0 │
│ 0 1 0 1 0 1 0 1 │
│ 1 0 1 0 1 0 1 0 │
│ 0 1 0 1 0 1 0 1 │
└ ┘</pre>
 
=={{header|J}}==
9,655

edits