gpt4 book ai didi

list - prolog 使用循环中的变量自动填充列表

转载 作者:行者123 更新时间:2023-12-04 23:08:10 25 4
gpt4 key购买 nike

如何用变量自动填充列表?


for(i=1;i<=9,i++){
addtoanylist(X_i);
}

所以结果就像 L=[X1,X2,X3,X4,X5,X6,X7,X8,X9]。 ?

这是因为我想为我的数独求解器建立一个适当大小的列表。

我在这里得到尺寸:
sudoku_size_check(L) :-
len(L,N),
member(N,[4,9,16,25]), %check if its 4x4,9x9..
write('Listlength: '),
write(N),nl,
range(1,N,RangeList), %generate [1,2,3,4] in 4x4, [1..9] in 9x9..
write('Possible numbers: '),
write(RangeList), % in 4x4 its like [1,2,3,4]
nl,
retract(sudoku_settings(_,_)),
assert(sudoku_settings(N,RangeList)). %write stats into global variable

最佳答案

您可以通过反向应用“长度”谓词来用自由变量填充列表:

length(L, 9).

这导致 L = [_G320, _G323, _G326, _G329, _G332, _G335, _G338, _G341, _G344] -- 九个可能在以后绑定(bind)的自由变量的列表。

这对于称为“长度”的谓词来说是不寻常的,但如果您以声明方式阅读它,“ length(L, 9)”会说:“ L 是长度为 9 的任何列表。”这正是您想要的——9 个自由变量的列表适合该定义的最一般情况。

关于list - prolog 使用循环中的变量自动填充列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225033/

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