tôi cần phải xác định phân chia để Danh sách [1,2,3,4,5]
chia thành:Chia một danh sách trong nửa
a = [1,2,3}
b = [4,5]
tôi nhận được một lỗi mà nói "Arguments are not sufficiently instantiated"
, và tôi không biết đủ về ngôn ngữ để tìm ra vấn đề của tôi là gì, hoặc nếu thiết kế của tôi thậm chí còn đúng. Mọi hướng dẫn sẽ được đánh giá cao.
Vì vậy, đây là những gì tôi có cho đến nay:
append([],L2,L2).
append([H|T],L2,[H|L3]) :- append(T,L2,L3).
lengthIs([],N).
lengthIs([H|T],N) :- lengthIs(T,M), N is M+1.
divide([],[],[]).
divide([H|T],L2,L3) :-
( lengthIs(L2, M) < lengthIs(L1,N)/2
-> divide(T, append(L2, H, X), L3)
; divide(T, L2, append(L3,H,Y))
).
Giải pháp bạn đã chọn làm câu trả lời không thành công cho 'div ([1,2,3,4,5], [1,2,3], [4,5]). ' – false