Nous allons considérer un cas tiré des mathématiques où l'approche récursive s'impose (voir l'article Fonction partage d'un entier).
Un sommant est un naturel positif qui entre dans une somme quand on décompose un nombre en somme de naturels. Ainsi, les décompositions de 5 en au plus 3 sommants sont 5, 4+1, 3+2, 3+1+1, 2+2+1, si on écrit d(5,3) le nombre de décomposition de 5 en au plus 3 sommants, on a d(5,3) = 5 et si on écrit d'(5,3) le nombre de décomposition de 5 en exactement 3 sommants, on a d'(5,3) = 2, car ces décompositions sont 3+1+1 et 2+2+1.
Si p = 0 alors 0 n'a qu'une décomposition en au plus q sommants, à savoir celle constituée d'aucun sommant. On a donc d(0,q) = 1. Il n'y pas de décomposition de p strictement positif en au plus zéro sommants, donc d(p + 1,0) = 0. Si p < q, il n'y a pas de décomposition de p en exactement q sommants, donc le nombre de décompositions de p en au plus q sommants est le nombre de décompositions de p en au plus p sommants, ce qui s'écrit: si p < q alors d(p,q) = d(p,p).
On voit facilement que le nombre de décompositions de p en au plus q sommants est le nombre de décompositions de p en exactement q sommants plus le nombre de décompositions de p en au plus q-1 sommants. Donc
- d(p,q) = d'(p,q) + d(p,q − 1).
Or si p a exactement q sommants cela veut dire que tous ces sommants sont strictement positifs, on peut donc leur retirer 1. Or si on retire 1 à chacun de ces sommants on obtient une décomposition de p - q en au plus q sommants, d'où:
et finalement
- d(p,q) = d(p − q,q) + d(p,q − 1).
Autrement dit, si p≥q, le nombre de décompositions de p en au plus q sommants est le nombre de décompositions de p-q en au plus q sommants plus le nombre de décompositions de p en au plus q-1 sommants.
On a bien un énoncé récursif.
on a donc (le lecteur est invité à faire tous les calculs intermédiaires)
- d(5,3) = d(2,3) + d(5,2) = d(2,2) + d(3,2) + d(5,1) = d(0,2) + d(2,1) + d(1,2) + d(3,1) + d(4,1) + d(5,0) = ... = 1 + 1 + 1 + 1 + 1 + 0 = 5..
Voici la forme complète de la fonction récursive:
d(p, q) = si p = 0 alors 1 sinon si q = 0 alors 0 sinon si q > p alors d(p, p) sinon d(p-q, q) + d(p, q-1)