或Prolog中的条件

时间:2013-01-17 13:03:05

标签: prolog

我想检查一个数字是否可以被3,5或7中的一个整除。

我怎么能写一个像 -

这样的规则
isDivide(N) :- N mod 3 =:= 0 OR  N mod 5 =:= 0 OR N mod 7 =:= 0. 

1 个答案:

答案 0 :(得分:0)

isDivide(N) :- N mod 3 =:= 0. 
isDivide(N) :- N mod 5 =:= 0. 
isDivide(N) :- N mod 7 =:= 0. 

或者:

isDivide(N) :- 
    N mod 3 =:= 0 
    ;  N mod 5 =:= 0 
    ; N mod 7 =:= 0. 

请注意,;不在行的末尾,而是在下一行的开头。 这纯粹是一种风格问题,但强烈建议遵循它。