(define longueur (lambda (l) (cond ((null? l) 0) (else (+ 1 (longueur (cdr l))))))) (define fact (lambda (n) (cond ((zero? n) 1) (else (* n (fact (- n 1))))))) (define mauvaise-fact ; on peut arreter le calcul en appuyant (lambda (n) ; simultanement sur les touches [CTRL] et C (cond ((zero? n) 1) (else (/ (mauvaise-fact (+ n 1)) (+ n 1)))))) (define dernier (lambda (l) (cond ((null? (cdr l)) (car l)) (else (dernier (cdr l)))))) (define nb-occurences (lambda (o l) (cond ((null? l) 0) ((equal? o (car l)) (+ 1 (nb-occurences o (cdr l)))) (else (nb-occurences o (cdr l)))))) (define append (lambda (l1 l2) (cond ((null? l1) l2) (else (cons (car l1) (append (cdr l1) l2))))))