Red de conocimientos turísticos - Información de alquiler - Programa JAVA para encontrar x elevado a la enésima potencia usando el método divide y vencerás

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).