Buenas. tengo una duda y es que necesito hacer una practica y me piden elevar un número x a n sin utilizar la librería math.h . El problema no es hacer esto sin la librería sino que lo tengo que hacer con un bucle no lineal de manera iterativa.
void PotCuadradosIt (int x, int n)
{
int xaux, naux, i, sol;
if(n%2==0)
{
xaux=x*x;
naux=n/2;
sol=xaux;
for(i=1;i<naux;i++)
{
sol*=xaux;
}
}
}
Este es el programa pero no puedo utilizar este for ya que es un ciclo lineal, y tengo que hacerlo si o si de forma iterativa.
Gracias y un saludo
n^0 == 1
n^1 == n
n^m == n * n^(m-1)
Esa es la lógica de las potencias con números naturales. Como ves, es recursiva cuando la potencia es mayor que 1. De ahí, la función a hacer es parecida...
Cita de: ivancea96 en 3 Noviembre 2018, 16:16 PM
n^0 == 1
n^1 == n
n^m == n * n^(m-1)
Esa es la lógica de las potencias con números naturales. Como ves, es recursiva cuando la potencia es mayor que 1. De ahí, la función a hacer es parecida...
No es exactamente la respuesta que buscaba pero si que me ha servido al menos para hacerlo de forma recursiva, muchas gracias porque me ha ayudado mucho. :)