Cet exercice sur la récursivité est difficile. Je vous demande d' essayer de le faire et de me l'envoyer à l'adresse beal@monge.univ-mlv.fr avant dimanche.
Une solution de cet exercice apparaîtra ici lundi matin.Partant de 1, on écrit une suite de mots obtenus en comptant les chiffres successifs du mot précédent. Le deuxième mot est 11 parce qu'il y a un 1 dans ``1''. Ensuite il y a deux 1, donc le troisième mot est 21, etc. Les premiers mots sont
L'objectif de l'exercice est d'écrire un programme qui calcule les N premiers éléments de la suite des longueurs (par exemple pour N=40), mais sans utiliser de tableau pour contenir les mots (ce qui nécessite rapidement trop de mémoire). Pour cela on construit simultanément tous les mots du premier au Nième, mais en n'en conservant qu'une information partielle : la valeur du dernier chiffre construit dans chaque mot (il s'agit nécessairement d'un 1, d'un 2 ou d'un 3), et le nombre de fois qu'il est répété. On utilise trois tableaux :
Une bonne programmation de cet exercice doit être limitée par le temps d'exécution et non par la mémoire.