次のタスクがあります。
2 つの多項式を追加するメソッドを作成します。つまり、0+2*x^3 と 0+1*x^3+2*x^4 は 0+3*x^3+2*x^4 になります。
次のコードも書きました。
add_poly(+A1*x^B1+P1,+A2*x^B2+P2,+A3*x^B3+P3):-
(
B1=B2,
B3 = B2,
A3 is A1+A2,
add_poly(P1,P2,P3)
;
B1<B2,
B3=B1,
A3=A1,
add_poly(P1,+A2*x^B2+P2,P3)
;
B1>B2,
B3=B2,
A3=A2,
add_poly(+A1*x^B1+P1,P2,P3)
).
add_poly(X+P1,Y+P2,Z+P3):-
Z is X+Y,
add_poly(P1,P2,P3).
私の問題は、停止する方法がわからないことです。引数の 1 つが null の場合は停止し、2 番目の引数を 3 番目の引数に追加したいと思います。しかし、それらがnullであることを確認するにはどうすればよいですか? ありがとう。