La potenciación es una expresión matemática que consta de dos términos denominados: base (a) y exponente (n).

Se escribe: a^n y se lee «a elevado a la n». Siempre y cuando sean números naturales ésto equivaldría a multiplicar la base por sí misma el número de veces indicado por el exponente.

a^{n} = \underset{n}{\underbrace{a*..*a}}

Programando cálculo en C/C++

Para calcular la potencia de un número, podemos recurrir a la función pow(); ya implementada, que se encuentra en <math.h>. O bien hacerla nosotros.

En éste caso elegí la segunda opción. Hacer nuestra propia función para cálculo de potencias. Vamos a manejar variables del tipo double, ya que son más cómodas para trabajar con potencias.

Declararemos la función de la siguiente manera:

double potencia(double base,double exponente);

Bien, ahora a trabajar en ella. Según la declaración, tenemos dos variables a las cuales podemos acceder, pero necesitamos declarar otra, la cual contendrá el resultado de la operación matemática que haremos.

double potencia(double base,double exponente)
{
    double temp = 1;
    /* Parte de código  */
}

Aquella variable la inicializamos en «1», ¿por qué?, porque ésta es necesaria multiplicarla por la base, y teniendo un valor nulo, no nos serviría.

Bien, ahora para multiplicar la base por el número de veces declarada por el exponente usaremos el bucle for, con él multiplicaremos la variable temporal por la base el número de veces declarado, y por último retornaremos el valor de la variable temporal.

double potencia(double base,double exponente)
{
    double temp = 1;
    int i = 0;
 
    for(i;i<exponente;i++)
        temp *= base; /* Es igual a temp = temp * base; */
 
    return temp;
}

Con ésa función, podríamos calcular tranquilamente las potencias. Dejo otra función, en la cual se usa recursividad.

double potencia(double base,double exponente)
{
    if (exponente <= 0)
        return 1;
    else
        return base*potencia(base,exponente-1);
}