我怎么得到总和x ^ n / n!在prolog?

时间:2013-03-10 12:52:23

标签: prolog sum factorial

我对Prolog不太了解。我需要在Prolog中计算总数 x ^ n / n! n = 1..k,k和x整数 有人,请解释我如何使用Prolog做到这一点。提前谢谢!

1 个答案:

答案 0 :(得分:2)

通过使用累加器参数实现具有尾递归辅助谓词的循环:

xsum(K,X,S):- K>=1, zsum(X,1,K,1,0,S).

zsum(X,I,K,PrevTerm,PrevSum,S):-
  I=:=K, Term is ________ * X / I, S is _____ + _____.

zsum(X,I,K,PrevTerm,PrevSum,S):-
  I < K, Term is ________ * X / I, Sum is _____ + _____, I1 is I+1,
  zsum(X,I1,K,Term,Sum,S).

填空。 :)

这些子句是互斥的,因此谓词是确定性的。