嘿,我正在准备考试,但我无法弄清楚其中一个练习题。我能得到一些帮助吗?
这就是问题:定义一个名为 power10 的谓词,它接受两个参数。当且仅当 P 是 X 可以被 10 整除的次数时,power10(X,P) 应该为真。换句话说,您正在计算 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.