He estado intentando calcular potencias mediante una función recursiva. Este ha sido mi resultado (es erróneo, pero no sé por qué).
Código
7 int potencia(int x, int n) { if(n == 0) return 1; else if (n % 2 == 0) return potencia(x*x, n/2); else return x * potencia(x, n-1); }
Para llegar a plantearlo, he tomado en cuenta que:
- x^n = (x * x) ^ n/2 (siendo n > 0 y un número par)
- x^n = x * x^(n-1)
Muchas gracias.
Saludos.