저는 프롤로그를 처음 사용하는데 문제가 있습니다. 목록의 각 요소에 대해
내가 좋아하는 번호 목록을 가지고 [7,88,10,11] 무엇을 내가하고 싶은 것입니다 :for each element in [7,88,10,11] A
for each element in [88,10,11] B
for each element in [10,11] C
write(A-B-C).
내가 원하는 모든 조합 목록 (3 개 요소의 순열).
감사합니다.
는편집 : 목록은 예입니다, 실제 목록은 L입니다 :
list(L,J) :- findall(X,(task(X,K),K==J),L).
그럼 내가 목록을 말했듯이 내가 반복하고 싶은 L.
그래서 len (목록) P 3 (조합으로 말하기) 또는 B와 C가 각각 [88,10,11]과 [10,11]'로 유지됩니까 –
나는 모든 것을 요소들, B와 C는 동일하게 남겨 두어야합니다. 왜냐하면 당신은 A의 다음 요소와 모든 가능한 조합으로 그것을 수행해야하기 때문입니다. BTW A, B 및 C는 for의 인덱스입니다. – EricJ
A가 '7'에서 '88'로 진행하면 B는'[88,10,11]'에서'[10,11]'로 줄어들거나'[7,10,11]' –