0
나는 마지막 시험을 위해 프롤로그를 공부하고 있는데, 나는이 과제에 대해 내가 일찍부터 잘못했는지 알 수 없다.왜이 프롤로그 코드는 하나의 결과 만 반환합니까?
이것은 정확히 '숙제'문제가 아니며, '최종 질문을 위해 공부하고 있습니다.'누군가 올바른 답을 줄 수 있다면 큰 도움이 될 것입니다.
%% b) Write a predicate after(X, List, Result) that returns everything
%% in a list after any occurrence of the given element X.
%% ?- after(a,[b,a,x,d,a,f,g],R).
%% R = [x,d,a,f,g];
%% R = [f,g];
%% no
내 솔루션이를했지만 그것은 단지,하지 내가 뭐하는 거지 두
after(X,[_,X|R],R).
?- after(a,[b,a,x,d,a,f,g],R).
R = [x, d, a, f, g].
잘못
'after (a, [a, b, c], R).'와 같은 두 번째 위치가 아닌 요소는 코드가 작동하지 않습니다. 일반적인 방법으로 문제를 해결하는 방법에 대해 생각해 보면 원하는 결과를 여러 번 얻을 수 있습니다. – icktoofay