miércoles, 31 de julio de 2013

Potencia en C sin utilizar la funcion pow()

Hola amig@s esta vez les enseñare como elevar un numero X a una base Y sin utilizar la función pow() en C.

Captura:

Codigo:


#include 
#include 

int main(int argc, char *argv[])
{
  int a, b,i,mult=1;
  printf("\nIngrese el primer numero: ");
  scanf("%d",&a);
  printf("\nIngrese el segundo numero: ");
  scanf("%d",&b);
  for(i=1;i<=b;i++){
     mult*=a;                  
  }
  printf("\nEl resultado de %d ^ %d es: %d\n\n",a,b,mult);
  system("PAUSE"); 
  return 0;
}


Descarga el código fuente desde aquí.

3 comentarios :

  1. Todo muy lindo, pero
    cómo haces

    2^2.1??

    ResponderEliminar
  2. Ese ejercicio es lineal y es muy pésimo.

    La mejor solución es la siguiente

    int pow2(int x, int n) {
    if (n == 0) return 1;

    if (n % 2 == 0) {
    int x1 = pow2(x, n / 2);
    return (x1 * x1);
    }
    else {
    int x1 = pow2(x, (n - 1) / 2);
    return (((x1 * x1)) * (x));
    }
    }

    ResponderEliminar