【发布时间】:2015-02-12 14:59:57
【问题描述】:
我是 Prolog 初学者,我正在寻找一种方法来反转此代码的输出。
fib(N, F) :- fib(N, 0, [1], F).
fib(0, _, A, A).
fib(N, A, [B|Bs], F) :- N1 is N - 1, Sum is A + B, fib(N1, B, [Sum,B|Bs], F).
代码计算N 的值的斐波那契数,并将结果打印到F。
例如fib(4,X). 产生X=[5,3,2,1,1]。我想要的是X=[1,1,2,3,5](反向输出)。
我似乎不能把它变成这种格式,并保留它的尾递归属性。
感谢您的帮助
【问题讨论】:
标签: list prolog reverse fibonacci