¿Cómo elevar a una potencia sin el pow?

Necesito el programa para elevar un numero a una potencia en una estructura repetitiva sin utilizar el pow (borland c++)
Respuesta

Se puede calcular la potencia usando función exponencial y logaritmo natural:

Res = Exponencial(potencia*ln(base))

ejemplo:

4 elevado a la 3->

Resultado = exp(3*ln(4));

Perdón, soy programador, hace mucho no programo en C++ y no recuerdo los nombres de sus funciones, ni sintaxis exacta.

<!DOCTYPE html>
<html>
<head>

</head>
<body>
Base:<input type="text" id="txtBase"></input><br><br>
Potencia:<input type="text" id="txtPotencia"></input><br><br>
<button type="button" onclick="potencia()">Calcular Potencia</button>
<br>
Resultado : <input type="text" id="resultado" disabled ></input>
<script>
function potencia(){
var base;
var potencia;
var resultado;

base = parseInt(document.getElementById("txtBase").value);

potencia = parseInt(document.getElementById("txtPotencia").value);

resultado = Math.exp(potencia*Math.log(base));

document.getElementById("resultado").value=resultado;
}
</script>
</body>
</html>

1 respuesta más de otro experto

Respuesta
2
#include <stdio.h>
#include <math.h>
int main()
{
int base, exponente, i, sol=1;
printf("Programa para hacer potencias\n\n\n");
printf("Introduce la base de la potencia: ");
scanf("%i",&base);
printf("\n\nIntroduce el exponente de la potencia: ");
scanf("%i",&exponente);
for (i=0;i<exponente;i++)
{
sol=sol*base;
}
printf("\n\nResultado: %i\n\n\n",sol);
return 0;
}
Gracias por tu ayuda
Pero quisiera saber como para mostrar la solución (sol), por que el programa corre bien pero no muestra la solución.
Gracias
(xxxxxx)
Poes, aquí va imprimiendo paso por paso lo que hace el programa...
#include <stdio.h>
#include <math.h>
int main()
{
int base, exponente, i, sol=1;
printf("Programa para hacer potencias\n\n\n");
printf("Introduce la base de la potencia: ");
scanf("%i",&base);
printf("\n\nIntroduce el exponente de la potencia: ");
scanf("%i",&exponente);
printf("\n\n");
for (i=0;i<exponente;i++)
{
sol=sol*base;
printf("(%d)",base,base,sol);
}
printf(" =%d",sol);
printf("\n\nResultado: %d ^ %d = %d\n",base,exponente,sol);
return 0;
}
Perdón por la molestia es que no soy muy bueno para programar borland c++ y quisiera que me respondiera la ultima pregunta, es que el programa corre bien pero se sale antes de que pueda ver la solución y que me pregunte que siquiera salir o hacer otra potencia
Perdón por la molestia y gracias por tu ayuda
(xxxxxx)
El código esta diseñado... para que el programa se ejecute una sola vez... así que ya que se ejecute... termina su función...
Aa un pequeño detalle... yo programo en turbo C++, así que pueden existir pequeñas diferencias que tu deberás corregir!
Suerte..!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas