Recursion 需要帮助来编写f:N->;序言中的N
我想写f:N->NRecursion 需要帮助来编写f:N->;序言中的N,recursion,prolog,iteration,Recursion,Prolog,Iteration,我想写f:N->N f(0)=2,f(1)=0,f(2)=3 f(n)=3f(n-3)+2f(n-2)-(n-1) for n>=3. 无论是迭代还是递归 这是我到目前为止迭代得到的结果,但我一直得到N>2的3 f(0,2). f(1,0). f(2,3). f(N,F) :- N>2, N1 is N-1, N2 is N-2, N3 is N-3, f(N1,F1), f(N2,F2), f(N3,F3), F4 is F2*2,
f(0)=2,f(1)=0,f(2)=3
f(n)=3f(n-3)+2f(n-2)-(n-1) for n>=3.
无论是迭代还是递归
这是我到目前为止迭代得到的结果,但我一直得到N>2的3
f(0,2).
f(1,0).
f(2,3).
f(N,F) :-
N>2,
N1 is N-1,
N2 is N-2,
N3 is N-3,
f(N1,F1),
f(N2,F2),
f(N3,F3),
F4 is F2*2,
F6 is F3*3,
F5 is F4+F6,
F is F5-F1.
非常感谢你能给我的任何帮助 对我来说很好
?- f(5,X).
X = 12 .
?- f(6,X).
X = 3 .
?- f(7,X).
X = 30 .
?- f(8,X).
X = 12 .
也许你只是尝试了很多返回3的值
此外,您还可以:
f(N,F) :- N>2, N1 is N-1, N2 is N-2, N3 is N-3,
f(N1,F1), f(N2,F2), f(N3,F3),
F is 3*F3 + 2*F2 - F1.
也许: