% Auteur:
% Date: 27/10/2010

longueur([],0).
longueur([Tete|Reste],N) :- longueur(Reste,N1),N is N1+1.

somme(0,0).
somme(N,Somme) :-
               N > 0,
               N1 is N-1,
               somme(N1,S1),
               Somme is S1 + N.
               
factorielle(0,1).
factorielle(N,F) :-
                 N > 0,
                 N1 is N-1,
                 factorielle(N1,F1) ,
                 F is F1*N.
                 
fib(0,0).
fib(1,1).
fib(N,Fib) :-
           N > 1,
           N1 is N-1,
           fib(N1,F1),
           N2 is N-2,
           fib(N2,F2),
           Fib is F1+F2.