23.1.05

Funciones potencial y factorial

Saludos.

Como recordatorio de la manera de hacer bibliotecas de funciones y de las técnicas recursivas, se propuso como ejercicio implementar una biblioteca de funciones con una función potencial y otra factorial. A continuación se muestra dicha biblioteca con versiones recursivas y no recursivas.

Próximamente más.

pot_fac.h

#ifndef __pot_fac__
#define __pot_fac__

int potencial_nr(int, int);
int potencial_r(int, int);
int factorial_nr(int);
int factorial_r(int);

#endif





pot_fac.c

#include "pot_fac.h"

int potencial_nr(int valor, int potencia)
{
int i, resultado;
resultado = 1;
for (i=0; i 0; i--)
resultado *= i;
return resultado;
}

//---------------------------------------------
int factorial_r(int valor)
{
if (valor == 1)
return 1;
return valor * factorial_r(valor-1);
}





prueba_pot_fac.c

#include "pot_fac.h"

int main() {

int resultado;

resultado=potencial_nr(4, 3);
printf("4 elevado a 3 %i (no resursivo)\n", resultado);

resultado=potencial_r(3, 3);
printf("3 elevado a 3 %i (resursivo)\n", resultado);

resultado=factorial_nr(4);
printf("4 factorial %i (no resursivo)\n", resultado);

resultado=factorial_r(6);
printf("6 factorial %i (resursivo)\n", resultado);

return 0;
}


No comments: