Cómo encontrar la mayor potencia de 2 menos que el número dado
Necesito encontrar la mayor potencia de 2 menos que el número dado.
Y me estancé y no puedo encontrar ninguna solución.
Código:
public class MathPow {
public int largestPowerOf2 (int n) {
int res = 2;
while (res < n) {
res =(int) Math.pow(res, 2);
}
return res;
}
}
Esto no funciona correctamente.
Salida de prueba:
Arguments Actual Expected
-------------------------
9 16 8
100 256 64
1000 65536 512
64 256 32
¿Cómo resolver este problema?