RosettaCodeData/Task/Sierpinski-carpet/Lua/sierpinski-carpet.lua

20 lines
384 B
Lua
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
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