16 lines
367 B
Lua
16 lines
367 B
Lua
function get(key)
|
|
return (function(arg) return arg[key] end)
|
|
end
|
|
|
|
function is_pythagorean(arg)
|
|
return (arg.x^2 + arg.y^2 == arg.z^2)
|
|
end
|
|
|
|
function list_pythagorean_triples(n)
|
|
return LC:new():range("x",1,n):range("y",1,get("x")):range("z", get("y"), n):where(is_pythagorean).iter
|
|
end
|
|
|
|
for arg in list_pythagorean_triples(100) do
|
|
print(arg.x, arg.y, arg.z)
|
|
end
|