Idris2/tests/node/node002/Pythag.idr
2020-06-12 21:35:08 +01:00

10 lines
312 B
Idris

range : Integer -> Integer -> List Integer
range bottom top
= if bottom > top then []
else bottom :: range (bottom + 1) top
pythag : Integer -> List (Integer, Integer, Integer)
pythag top
= [(x, y, z) | z <- range 1 top, y <- range 1 z, x <- range 1 y,
x * x + y * y == z * z]