우리는 < b를 가지고 다음과 같은 방법으로 프롤로그 Q (a, b, n)에서 함수를 찾아야 만합니다 : Q (a, b, n) = max {k ∈ N | B^K -^K < = N} 여기프롤로그에서 함수를 계산하는 방법은 무엇입니까?
가 내 코드이지만 항상 나에게주고있다 "아니오"예를 들어
qs(A,B,N,R,C) :- R>N, R is B^C-A^C.
qs(A,B,N,R,C) :- A<B, C1 is C, R is B^C1-A^C1, C1 is C+1, R=<N, qs(A,B,N,R,C1).
qs(A,B,N,R) :- A<B, C is 0, qs(A,B,N,R,C).
나는 Q가 있다면 (2,3,18 없음) 출력은 2가되어야합니다.
qs (2,3,18, R)에 대해 "인스턴스화 오류"가 나타납니다. 당신은 실제로 그 기능의 실제 정의를 말해야합니다. 우리는 단지 추측 할 수 있습니다. – false
그리고'qs (3,2,1, R) .'은 실패합니다. 권리? – false
나는 그 정의가 거기에 있다고 생각했다. 그래서 나는 그것을 다시 편집 했으므로 글에 뭔가 잘못되었다. :) – Noisie