无法理解Prolog的代码行

时间:2017-12-11 00:11:49

标签: prolog

我正在学习逻辑测试,我看到了一个完美数字问题的例子 有很多解决方案,但有一个我不确定他们是如何做到的。

divisors(Number, D, L1, L2) :-
   X is Number / D,
   ( D < X -> D1 is D + 1, divsors(Number, D1, L1, L2) ; L1 = L2).
divisors(Number, D, L1, L2) :-
   0 is Number mod D, D1 is D + 1, X is Number / D,
   ( D =< X -> divisors(Number, D1, [X, D |L1], L2) ; L1 = L2).

0 个答案:

没有答案