私は次のコードを書きました:
nat(0).
nat(s(X)) :- nat(X).
divide(0,_,0).
divide(X,Y,D) :- X@<Y, D is 0.
divide(X,s(0),X).
divide(_,0,undefined) :- !.
すべてはここまでです。しかし、他の 2 つの自然数の除算を計算するには、何を書けばよいでしょうか? 例えば
divide(s(s(s(s(s(s(s(s(0)))))))),s(s(0)),D).???
私は次のコードを書きました:
nat(0).
nat(s(X)) :- nat(X).
divide(0,_,0).
divide(X,Y,D) :- X@<Y, D is 0.
divide(X,s(0),X).
divide(_,0,undefined) :- !.
すべてはここまでです。しかし、他の 2 つの自然数の除算を計算するには、何を書けばよいでしょうか? 例えば
divide(s(s(s(s(s(s(s(s(0)))))))),s(s(0)),D).???