Implementar datos de coma flotante por la exponenciación de forma recursiva
tipo: x y n, x es un conjunto de datos de punto flotante, n sea un número entero de datos (puede ser negativo) de salida: n-ésima potencia de x de salida del resultado dos decimales
resultados son los siguientes:
de entrada: 2,0 -2
salida: 0,25
#include <iostream>
#include <stdio.h>
#include<cmath>
using namespace std;
int main()
{
double x,n,result=1;
cin>>x>>n;
if(n==0)
{
printf("%.2f",1.00);
}
else if(x==0&&(n!=0))
{
printf("%.2f",0.00);
}
else if(n>0)
{
for(int i=1;i<=n;i++)
{
result=x*result;
}
printf("%.2f",result);
}
else if(n<0)
{
for(int i=1;i<=(-n);i++)
{
result=result*(x);
}
printf("%.2f",1/result);
}
}
o
#include <iostream>
#include <stdio.h>
using namespace std;
float power(float x,int n)
{
if(n==0)
return 1;
else if(n>0)
return x*power(x,n-1);
else
return power(x,n+1)/x;
}
int main()
{
float x;
int n;
cin>>x>>n;
if (x==0)
cout<<"0.00";
else
printf("%.2f",power(x,n));
return 0;
}