gpt4 book ai didi

prolog - Prolog中具有k个元素的列表的所有子集

转载 作者:行者123 更新时间:2023-12-04 05:59:42 25 4
gpt4 key购买 nike

请帮我解决这个问题:

subset(N, [1,2,3], L).


如果 N=2,我想要的结果是:

[1,2];

[2,1];

[1,3];

[3,1];

[2,3];

[3,2];


(以任何顺序)

最佳答案

好吧,你的基本情况是微不足道的:

subset(0,Lst,[]).

如果 N>0,你有 2 个选择来处理 Lst 的第一个元素:
  • 您可以忽略它,并在 Lst
  • 的剩余部分中查找您的子集。
  • 您可以将它包含在您的子集中,将其添加到您获得的 Lst 剩余部分的 1 小子集中。

  • 您可能认为您必须担心 Lst 太短(或 N 太大:同样的事情),但如果您已正确编码上述内容,则应该为您处理。

    希望这足以让你开始。

    关于prolog - Prolog中具有k个元素的列表的所有子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9077049/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com