Subprogramele f1, f2 și f3 sunt definite mai jos.
int f1(int n) { return n*(n+1)/2; }
int f2(int n) { if(n!=0) return n+f2(n-1); return 0; }
int f3(int n) { if(n==0) return 0; if(n%2==1) return n+f3(n-1); return n*n/4+2*f3(n/2); }
Pentru n=24, se obține aceeași valoare la apelul subprogramelor: