// EJEMPLO DE RECURSIVIDAD #include <stdio.h> #include <conio.h> int suma (int, int); int resta(int, int); int mult(int, int); int divicion(int, int); void main() { int d1=20,d2=2; clrscr(); printf(" suma = %d",suma(d1,d2)); printf("\n resta = %d",resta(d1,d2)); printf("\nproducto = %d",mult(d1,d2)); printf("\ncociente = %d",divicion(d1,d2)); getch(); } // T significa total int suma(int a, int b) { if (!b) return a; return suma(a,(b-1))+1; // T(n) = T(n-1) + 1 para T = a + b } int resta(int a, int b) { if (!b) return a; return resta(a,(b-1))-1; // T(n) = T(n-1) - 1 para T = a - b } int mult(int a, int b) { if (!a) return 0; if (!b) return 0; return suma(a,mult(a,(b-1))); } int divicion(int a, int b) { if (!a) return 0; return resta(resta(a,b), divicion(resta(a,b),b)); }