어떻게 할 수 있습니까?꼬리 재귀 합계, 전력, 프롤로그에서 gcd?
다음 조건 자 각각에 대해 꼬리 재귀 정의를 제공하십시오.
power(X,Y,Z)
: XY = Z.
gcd(X,Y,Z)
: X와 Y의 최대 공약수는 Z.
sum(L,Sum)
입니다 : 맞습니다 경우 합계가
지금까지 내가 이런 짓을하지만, 확실하지 않은 L.의 요소의 합이다
power(_,0,1) :- !.
power(X,Y,Z) :- Y1 is Y - 1,power(X,Y1,Z1),Z is X * Z1.
sum(void,0).
sum(t(V,L,R),S) :- sum(L,S1),sum(R,S2), S is V + S1 + S2.
정확하게 맞는지 확실하지 않으면 TEST IT입니다. –
Frank : 텍스트를 4 칸 들여 쓰기하면 코드 형식으로 표시됩니다. 질문을 수정하고 시험해보십시오. 편집기 툴바의 주황색 물음표는 다른 서식 지정 마크 업과 함께 문서에 연결됩니다. – outis