항목, 목록 및 숫자를 허용하는 프롤로그의 조건자를 올바르게 작성하려고 시도하고 해당 항목이 해당 횟수만큼 목록에 있는지 확인합니다. 예를 들어프롤로그의 조건 자에 문제가 발생했습니다.
count(7,[3,7],X).
은 X=1
입니다.
count(7,[3,7],1).
이 내가
count_occur(A,[0|B],D).
count_occur(A,[A|C],D) :- count_occur(A,C,D1), D is D1+1.
count_occur(A,[B|C],D) :- count_occur(A,C,D).
나는 프롤로그 아주 새로운 오전 정말 프로그래밍 패러다임을 이해하는 데 어려움을 겪고 지금까지 무엇을 가지고 true
반환합니다.
내가하려고하는 것은 목록의 첫 번째 항목이 D를 증가시키고 목록의 나머지 부분과 다시 비교할 경우 전달 된 값 (A)과 일치하는지 확인하는 것입니다. 이것은 내가 어쨌든 혀짤음이나 다른 언어로 그것을하는 방법이다. 약간의 도움을 사용할 수 있었는지, 잠시 동안 이것에 있었고 단지 나를 위해 클릭하지 않았습니다.
첫 번째 줄의 목적은 무엇입니까? 빈 목록이있는 경우를 처리해야합니다. –