Tous les sous-programmes dans les exercices ci-dessous doivent être rédigés de façon récursive, ils ne doivent pas contenir de boucle.
Écrire une procédure affichant un compte à rebours en partant du nombre passé en paramètre.
Écrire une fonction retournant la somme de deux nombres entiers positifs passés en paramètre sans les additionner. Vous n’utiliserez que des incrémentations et des décrémentations.
Écrire une fonction retournant la factorielle du nombre passé en paramètre.
Écrire une fonction retournant le produit de deux nombres entiers passés en paramètre sans les multiplier.
Écrire une fonction retournant la somme des n premiers entiers (où n est passé en paramètre).
Écrire une fonction retournant bn (où b et n sont tous deux passés en paramètre).
Écrire une fonction retournant le nombre de chiffres d’un entier n passé en paramètre. Ne pas convertir le nombre en chaîne de caractères !
Écrire une fonction retournant le p-ième chiffre d’un entier n en partant de la droite. Si par exemple n=13489765123 et p=4, alors la fonction retourne 5 car il s’agit du 4 chiffre de n en partant des unités.
Écrire une fonction retournant la somme des chiffres d’un entier n passé en paramètre.
Écrire une fonction recherche(t[], x, i, j : entier) : booleen retournant vrai si et seulement si il existe un élément du tableau t qui soit égal à x et dont l’indice se trouve entre i et j. On suppose que le tableau t est trié.
Écrire une fonction permettant de calculer le n-ème terme de la suite de Fibonacci définie par u0 = 0, u1 = 1 et un = un−1 + nn − 2. Est-ce efficace pour de grandes valeurs de n ? Est-il possible de rédiger un algorithme itératif ayant de meilleures performances ?
Écrire une procédure appliquant la méthode du tri fusion à un tableau passé en paramètre.
Écrire une procédure affichant toutes les permutations de Belle marquise, vos beaux yeux me font mourir d’amour.