Programa JAVA para encontrar x elevado a la enésima potencia usando el método divide y vencerás
El siguiente es un programa Java que utiliza el método divide y vencerás para encontrar la enésima potencia de x: Copiar código
public class Power {
public static void main(String[ ] args) {
doble x = 2.0; // base
doble n = 10 // exponente
doble resultado; = power(x, n) ;
System.out.println(x " elevado a la potencia de " n " es: " resultado
}
// Método de exponenciación divide y vencerás Operación
public static double power(double x, double n) {
if (n == 0) { // Cuando n es 0 , devuelve 1 directamente
devuelve 1
}
double half = power(x, n / 2); n 2 == 0) { // Cuando n es un número par, simplemente multiplica las dos mitades
return half * half;
} else { // Cuando n es impar número, necesitas multiplicar x una vez más
return half * half * x;
}
}
}
En primer lugar, se define en el método main() base x y exponente n. Luego llame al método power() para encontrar x elevado a la enésima potencia y mostrar el resultado en la pantalla.
El método power() utiliza el método divide y vencerás para implementar operaciones de poder. Cuando n es 0, devuelve 1 directamente; de lo contrario, divide n en dos mitades, encuentra las potencias de las dos mitades de forma recursiva, luego calcula el resultado según si n es un número par o impar y finalmente devuelve el resultado del cálculo.
Dado que cada recursión divide n por 2, la complejidad temporal de este algoritmo es Θ(lgn).