gpt4 book ai didi

numbers - Prolog 数字生成器列表

转载 作者:行者123 更新时间:2023-12-01 23:50:12 24 4
gpt4 key购买 nike

我想制作一个生成器,从 [a,b,c] 类型生成列表,从 [0,0,0] 开始,下一个是 [0,0,1],[0,1,0 ],[1,0,0],[0,1,1],[1,0,1],[1,1,0],[1,1,1],[1,1,2] 和以此类推。

对不起,我用很长的例子说了,我只是不知道如何用英语解释。

如果我有一个范围(假设它最多为 10),我会像这样使用 between:

genCombo([A,B,C]):-
between(0,10,A),
between(0,10,B),
between(0,10,C).

但是当它达到无穷大时,我不知道该怎么办。

最佳答案

我限制了范围,以获得清晰的显示,但您可以用 inf 替换 3。当然,不要把连词放在 findall :)这个想法是只有一个生成器运行到无穷大,其他两个(或任何你想要的)受该值限制...

?- findall([B,C,A], (between(0, 3, A), between(0, A, B), between(0, A, C)), L), maplist(writeln,L).
[0,0,0]
[0,0,1]
[0,1,1]
[1,0,1]
[1,1,1]
[0,0,2]
[0,1,2]
[0,2,2]
[1,0,2]
[1,1,2]
[1,2,2]
[2,0,2]
[2,1,2]
[2,2,2]
[0,0,3]
[0,1,3]
[0,2,3]
[0,3,3]
...

关于numbers - Prolog 数字生成器列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26977371/

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