factr(0,1). factr(N,F):- J is N-1,factr(J,F1), F is N*F1. facti(N,F):-facti(0,1,N,F). facti(N,F,N,F). facti(I,Fi,N,F):- J is I+1, Fj is J*Fi, facti(J,Fj,N,F). fib(0,1). fib(1,1). fib(N,F):-N1 is N-1, N2 is N-2,fib(N1,F1), fib(N2,F2), F is F1+F2. fibt(0,1). fibt(1,1). fibt(N,F):-fibt(2,1,1,N,F). fibt(N,Last2,Last1,N,F):-F is Last1+Last2. fibt(I,Last2,Last1,N,F):- J is I+1, Fi is Last1+Last2, fibt(J,Last1,Fi,N,F).