我正在用 Visual Prolog 编写一个填字游戏程序。卡在获得所有可能的 4 张元素集的那一刻。所有 4 个列表的长度都不同。有必要从每个列表中接收一组 4 个元素,然后使用另一个谓词执行我需要的检查。因此,您需要浏览这些表格的所有组合。
例如,我们有 3 个列表,我们需要获取 3 个元素的集合:[1, 2, 3], [4, 5], [6, 7, 8]:
1, 4, 6;
1, 4, 7;
1, 4, 8;
1, 5, 6;
1, 5, 7;
1, 5, 8;
2, 4, 6;
等等
迭代一个列表的元素并不难,但我不知道如何迭代 4 个列表。也许以某种方式使用内置的 list:: 谓词?请帮帮我。也许有一些想法?