Prolog互惠计数

时间:2018-06-07 15:18:05

标签: prolog

我正试图让Prolog计算一个倒数。

我想问Prolog这个问题:rec / 2喜欢这样rec(3,结果)。

我尝试转换的公式是

f(n) = 1 + 1/2 + 1/3 ... + 1/n

它应该导致1.833333 ...

我在开始时有rec(0,0).,如果输入为0,则为0。

如何判断我的子句以避免除以零的异常?

到目前为止,我知道我必须通过递归来解决它。

我试过了:

rec(N, R):-
    N > 0,
    N1 is N-1,
    rec(N1, R1),

我不知道如何在那之后解决问题,因为我尝试的一切都不会给我十进制数字但是​​正确的解决方案,大多数时候我得到rec(0,0).的零失败原因定义

0 个答案:

没有答案