0

まず、これは宿題なので、ヒントだけ教えてください!

%Here is a rule that defines sum/3 that returns yes if Z is sum of X and Y
sum(X,Y,Z) :-
  Z is X + Y.
%How can I make product/3
product(X,Y,Z) :- % based on sum/3 above?

また、X * Y の答えを返し、それが単なる真ではないような製品のクエリをどのように書くことができますか?

4

1 に答える 1

2

数学では次のことを考慮してください。

x * 0 = 0
x * y = x + x * (y - 1)

これは、ルールを作成するのに役立ちます。

クエリに関しては、次のようなものを使用して、次のような結果を取得できます。

?- product(5, 3, Result).
Result = 15 ?
yes

つまり、クエリにバインドされていない変数がある場合、述語が成功するようにその変数の値を見つけようとします。

于 2013-05-02T05:55:24.797 に答える