Algoritmo de la potencia

eaglexP

Hola que tal, me daba una vuelta por aqui y recorde que no hace mucho me encargaron diseñar un algoritmo de potencia(xy) de orden logaritmico(nada complicado la verda :P), y que si era posible, lo rebajase a orden constante. ¿Es posible esto ultimo?,porque a mi la verdad no se me ocurre la manera de que dicho algoritmo pueda ser constante(una formula). Agradecere cualquier sugerencia, gracias!

HangmaN

¿No estaras en ADA? verdad? xD

eaglexP

#2 crack xD, k es eso de ADA(analisis y diseño de algoritmos), la primera vez que lo oigo en mi vida o_O.
nada hombre tengo que buscar, y me parecia un buen foro (es que no se me ocurre na).

scumah

ADA = Análisis y diseño de algoritmos. Es una asignatura de la universida de sevilla en la que han pedio hace nada exactamente lo mismo que tu pides, y como eres de sevilla, pos... es lógico que se piense que estás en ada :P

por cierto, lo del orden constante, ni idea de como hacerlo :P

palote

la respuesta es 0.

HangmaN

func potencia (entero:base, entero:exp) dev (enteroLargo:resultado)

/>si exp < 0 :
|	resultado = 0;
\>fsi


/>si exp = 1 :
|
|	resultado = base;
|
|>si exp = 0 :
|
|	resultado = 1;
|
|>sino :
|
|	result = potencia(base, Lexp/2&#9496;);
|
|	/>si exp es par :
|	|
|	|	resultado = result*result;
|	|
|	|>sino :
|	|	resultado = result*result*base;
|	|
|	\>fsi
|
\>fsi
resultado = resultado; //bueno esto no hace falta, aqui va return resultado;

fin

resultado recursivo :P aunk tb es de t(n)=log(n)*k

Usuarios habituales

  • HangmaN
  • palote
  • scumah
  • eaglexP