【发布时间】:2017-07-19 14:59:06
【问题描述】:
我需要有人可以帮助如何在 Prolog 中做 3 的奇数倍数
定义一个谓词
oddMultOf3/1,确定一个整数是否是 3 的奇数倍数。用户应该能够输入谓词 带整数,例如oddMultOf3(42)并评估为 true 或 错误的。如果给定参数不是整数,您的谓词应该 显示消息“错误:给定的参数不是整数”。
他们让我这样做
oddMultOf3(171).
true.
oddMultOf3(100).
false.
oddMultOf3(12).
false.
oddMultOf3(4.2).
ERROR: The given parameter is not an integer
oddMultOf3(-9).
true.
但我每次尝试时都会收到错误消息。
这是我的代码
oddMultOf3(N) :- Y 是 N mod 3,Y=0。
【问题讨论】:
-
这怎么是三的奇数倍?
-
Y is N mod 3, Y = 0确定了 3 的倍数。现在您认为您如何确定N是奇数?只需添加该条件即可。 -
@lurker 对,那么添加一个条件来检查N mod 2是否为0呢?因为例如 30 是 3 的倍数,它是偶数。
标签: prolog