首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog practice,需要弄清楚为什么我会遇到错误

Prolog practice,需要弄清楚为什么我会遇到错误
EN

Stack Overflow用户
提问于 2013-04-21 05:00:35
回答 1查看 63关注 0票数 1

嘿,我正在为一场考试复习,但我想不出其中一道练习题。能帮我个忙吗。

问题是:定义一个名为power10的谓词,它有两个参数。当且仅当P是X可以被10整除的次数时,power10(X,P)应该为真。换句话说,您正在计算X的末尾有多少个零。(但如果您知道如何在Prolog中将整数转换为字符串,则不能使用它来查找答案!)你可以假设X被绑定到一个正整数。P可以是绑定的,也可以是未绑定的。

这就是我到目前为止所得到的,我得到了错误,我不确定如何让它输出我的P值。

代码语言:javascript
复制
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.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-21 05:13:34

在您的第一个谓词中,您永远不会为P赋值。试试这个:

代码语言:javascript
复制
power10(X, 0) :-
    X mod 10 =\= 0.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16125140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档