% Author:
% 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.
               
fact(0,1).

fact(N,F) :-
          N > 0,
          N1 is N - 1,
          fact(N1,F1),
          F is F1 * N.