#include using namespace std; double potenciaNoNegativa(double base, int exponente) { if (exponente == 0) return 1; double resultado = potenciaNoNegativa(base, exponente / 2); if (exponente % 2 == 0) return resultado * resultado; else return resultado * resultado * base; } double potencia(double base, int exponente) { if (exponente < 0) return 1 / potenciaNoNegativa(base, -exponente); else return potenciaNoNegativa(base, exponente); } int main () { double x = 0.5; for (int n = -10; n <= 10; n++) cout << x << " ^ " << n << " = " << potencia(x, n) << endl; }