gpt4 book ai didi

prolog - GNU Prolog - 乘法表

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

我有这个:

:- dynamic(times/3).
mult :- mult([0,1,2,3,4,5,6,7,8,9]).
mult(Num) :-
append(L1,[X|R1],Num),
append(L2,[Y|R2],Num),
Prod is X*Y,
assertz(times(X,Y,Prod)),fail.

有一个更好的方法吗。用 times(X,Y,XY) 事实创建一个乘法表。

虽然这确实有效,但我想知道是否有办法做到这一点而不会失败,因为当我没有失败时,它只是想出了真的?更多答案。我只是希望它无需询问即可完成所有答案。

最佳答案

添加最后一个“失败”子句多/1 总是成功的,例如多(_)。

您调用 多/1 然后将成功构建乘法表并成功,允许您在它之后提出进一步的子目标。

对我来说,对 进行编码似乎更自然。多/1 谓词使用 成员(member)/2 而不是 追加/3 ,但有这么短的 list ,可能不会浪费很多时间。

关于prolog - GNU Prolog - 乘法表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4456778/

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