私は長い間、プロローグの加算述語に本当にこだわっています。どんな助けでも私を大いに助けます..
これは私の述語です:
p(s(U,I), [s(A,B)|P1], T1,H(N, E), P,C) :-
m(s(E,F),
p(s(U,I), [s(A,B)|P1], +(C,F) ,H(N,E), P,C).
この部分を除いて、すべて正常に動作します:
+(C,F) は常に 5 ではなく 3+2 のような値を返します。
私はすべての可能な方法を試しました
p(s(U,I), [s(A,B)|P1], T1,H(N, E), P,C) :-
m(s(E,F)), C2 is C+F,
p(s(U,I), [s(A,B)|P1], C2 ,H(N,E), P,C).
しかし、5 ではなく 3+2 のような整数 + 整数として返されるたびに。
どんな助けでも大いに役に立ちます。
ありがとう!