这是一个问题:定义一个名为power10的谓词,它带有两个参数。如果,power10(X,P)应为真 并且只有当P是X可以被10均分的次数时。换句话说,你正在计算 在X的末尾有多少个零。(但是如果你知道如何将一个整数转换成一个字符串。) Prolog你可能不会用它来找到你的答案!)你可能认为X必然是正面的 整数。 P可以是绑定的或不绑定的。
这是我到目前为止,我得到错误,我不知道如何让它输出我的P值。
power10(X,P):-
X mod 10 =\= 0.
power10(X,P):-
X mod 10 =:= 0,
Remainder is X//10,
power10(Remainder,Counter),
P is Counter+1.
答案 0 :(得分:0)
在第一个谓词中,您永远不会为P
分配值。试试这个:
power10(X, 0) :-
X mod 10 =\= 0.