Вы можете использовать эту функцию:
function ProductRepeat(tab, repeatCount)
local result = { {} }
for _ = 1, repeatCount do
local newResult = { }
for _, r in ipairs(result) do
for _, v in ipairs(tab) do
table.insert(newResult, { v, unpack(r) })
end
end
result = newResult
end
return result
end