Jump to content

Magic squares of doubly even order: Difference between revisions

m
Line 602:
limit = sqr + 1
series
-- For integer powers of 2, the (append not) 'magic' series directly
-- yields the truth table that we need
| isPowerOf 2 n =
magicSeries $ floor (logBase 2 (fromIntegral sqr))
-- where n is not aan integer power of 2, we can replicate a
-- minimum truth table, horizontally and vertically
| otherwise = (concat . concat . concat .
Line 623:
where
xs = magicSeries (n - 1)
 
splitEvery :: Int -> [a] -> [[a]]
splitEvery n xs
Line 652:
diagonals :: [[Int]] -> [[Int]]
diagonals xs =
map (\x -> zipWith (!!) x [0..]) <$> [xs, reverse xs]
main2 :: IO ()
9,659

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.