小编Fer*_*ery的帖子

列表长度在Prolog

我是Prolog编程的初学者.我写了这个程序来计算列表的长度.为什么以下程序错了?

length(0, []).
length(L+l, H|T) :- length(L, T).
Run Code Online (Sandbox Code Playgroud)

我写下面的程序,它工作正常.

length([], 0).
length([H|T], N) :- length(T, N1), N is N1+1.
Run Code Online (Sandbox Code Playgroud)

当我改变订单时,我收到了一个错误.为什么?

length([], 0).
length([H|T], N) :- N is N1+1, length(T, N1).
Run Code Online (Sandbox Code Playgroud)

list prolog clpfd

5
推荐指数
3
解决办法
3万
查看次数

标签 统计

clpfd ×1

list ×1

prolog ×1