我试过这个来解决长度为2 ^ 0,2 ^ 2,2 ^ 3 ... 2 ^ n
的列表中拆分列表的问题split(L, X) :- split(L, 1, X).
split(X, N, [X]) :-
length(X, L),
L < N.
split(L, N, [X|Xs]) :-
length(X, N),
M = N * 2,
append(X, R, L),
split(R, M, Xs).
但我有问题:
错误:输入错误:
integer' expected, found
1 * 2'(一个化合物) 错误:在: 错误:[12] throw(错误(type_error(整数,...),上下文(...,_ 9654)))
我正在使用SWI-Prolog并且不知道如何修复它。如果你能帮助我,我将非常感激