嘿,我正在为一场考试复习,但我想不出其中一道练习题。能帮我个忙吗。
问题是:定义一个名为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.发布于 2013-04-21 05:13:34
在您的第一个谓词中,您永远不会为P赋值。试试这个:
power10(X, 0) :-
X mod 10 =\= 0.https://stackoverflow.com/questions/16125140
复制相似问题