RosettaCodeData/Task/Sierpinski-carpet/Lua/sierpinski-carpet.lua
2023-07-01 13:44:08 -04:00

19 lines
384 B
Lua

local function carpet(n, f)
print("n = " .. n)
local function S(x, y)
if x==0 or y==0 then return true
elseif x%3==1 and y%3==1 then return false end
return S(x//3, y//3)
end
for y = 0, 3^n-1 do
for x = 0, 3^n-1 do
io.write(f(S(x, y)))
end
print()
end
print()
end
for n = 0, 4 do
carpet(n, function(b) return b and "" or " " end)
end