Título: Duda potencias en C Publicado por: koffu9 en 2 Noviembre 2018, 19:01 pm 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 Título: Re: Duda potencias en C Publicado por: 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... Título: Re: Duda potencias en C Publicado por: koffu9 en 3 Noviembre 2018, 19:55 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. :) |