如何在Lua中找到表格中所有可能的字符拼接[在表格中]

如何在表格中找到所有可能的字符拼接[在表格中],并将它们显示为字符串和新行?

例如,我有一个包含字符的表格数组:

c={
    {'1','2','3'},
    {'a','b','c'},
    {'A','B','C'}
}

我想找到所有可能的连接,如下所示

1aA
1aB
1aC
-- 第二个表格第二个字符
1bA
1bB
1bC
-- 第二个表格第三个字符
1cA
1cB
1cC
-- 第一个表格第二个字符
2aA
2aB
2aC
-- 以此类推......

可能会有许多表格和许多字符。谢谢您的帮助!

编辑:

我在这里找到了答案,

https://forum.cheatengine.org/viewtopic.php?p=5773931#5773931

原文链接 https://stackoverflow.com/questions/69225475

点赞
stackoverflow用户7396148
stackoverflow用户7396148

这个算法假设每行的值个数相等,基于这个假设,我们可以说有 (#c[1])^(#c) 个值,利用这个信息来将表格展开。

c = {
    {'1','2','3'},
    {'a','b','c'},
    {'A','B','C'},
}
local columns = #c[1]
local rows = #c

for i = 0, (columns)^(rows) - 1 do
    local output = ""
    for k, v in ipairs(c) do
        output = output .. v[i % ((columns)^k) // ((columns)^(k - 1)) + 1]
    end
    print(output)
end

输出:

1aA
2aA
3aA
1bA
2bA
3bA
1cA
2cA
3cA
1aB
2aB
3aB
1bB
2bB
3bB
1cB
2cB
3cB
1aC
2aC
3aC
1bC
2bC
3bC
1cC
2cC
3cC
2021-09-17 23:11:04