最初の項 (たとえばs(s(nul))
(または 2)) が 2 番目の項 (たとえばs(nul)
(または 1)) で割り切れるかどうかを確認する必要があります。
私がやりたいのは、与えられた項を2倍してから、その項が他の項より小さいか等しいかどうかを確認することです(等しい場合-問題は解決されます)。
これまでのところ、私はこれを得ました:
checkingIfDividable(X,X).
checkingIfDividable(X,Y) :-
X > Y,
multiplication(X,Y).
/* multiplication by two should occur here.
I can't figure it out. This solution does not work!*/
multiplication(Y):-
YY is Y * 2,
checkingIfDividable(X,YY).
項に 2 を掛ける方法がわかりません。何かアイデアはありますか?