非常具体的应用程序的递归算法Python

问题描述

出于说明目的,让 t = 7 并考虑列表 L = [3,3,3]。请注意,L 的所有元素的乘积是 1 mod t。请注意,如果我们将 L 中的任何一对条目替换为它们的产品模型 t,例如[3*3,3] = [2,3] mod t 我们得到另一个具有单位乘积的列表。我想要的是确定以这种方式从 L 获得的完整不同列表的集合。手动写出集合(我相信这是列表 L 的全部内容):

[2,3]
[6,3]
[2,2,2]
[2,6,3]
[4,2]
[5,3]

寻找一个优雅的 Python 解决方案,我可以将其应用于任何 t 和任何具有单位产品的元素的此类列表。

我尝试过的:我怀疑这可能是图行走算法的应用,并且基本上写出了上面的(可能完整的)列表,手动遍历某种二叉树,其中每次发生分裂时子产品被评估并包含在列表中。不确定如何有效/详尽地遍历这棵假设树。

这不是作业问题的一部分,只是在其他个人研究中遇到了这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)