【发布时间】:2014-04-26 00:03:32
【问题描述】:
我正在尝试学习 Prolog,我发现了一个示例,我需要实现一个程序来检查一个数字是否为素数,使用单个谓词。
我试图遵循的逻辑是制定一个递归规则来除以小于该谓词的所有数字,直到它到达基本情况,即X>2,因为0 和1 不是素数且可被自身整除
到目前为止我的代码是:
isPrime(2).
isPrime(X):-
X>2, %0,1 aren't primes
1 is mod(X,2),
有人可以帮忙吗?
【问题讨论】:
-
您必须使用 single 谓词来实现此目的吗?两个人很容易。
-
它不必是单个谓词:)