Bonjour,

Voici mon problème, je voudrais arriver à faire ceci en C LISP :

1
2
3
4
5

Avec une fonction (compte 5) par exemple. Cette fonction imprime donc les chiffre de 1 à 5. Mais la difficulté serait de la faire en récursivité.

Voila donc mon premier programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
(defun compte(nbr &aux compteur)
(setq compteur 0)
(cond
((equal nbr compteur) 0) 
((print (+ compteur 1))(compte (- nbr 1)))
Cette fonction m'affiche ceci :

1
1
1
1
1
0
Ce qui est normal car la variable compteur est redéfini à chaque appel de la fonction ...

Alors ma question est simple comment arriver au résultat indiqué plus haut de manière récursive et non itérative ?

Je vous remercie de me mettre sur la voie.