Menu
CoddyTech

Square Root (Integer)

Tu función recibe un entero no negativo x y devuelve su raíz cuadrada entera: el mayor entero r tal que r × r ≤ x. Es decir, la raíz cuadrada redondeada hacia abajo, así que un número que no sea un cuadrado perfecto obtiene la raíz del cuadrado perfecto inmediatamente inferior. Calcúlala tú mismo, sin usar una función integrada de raíz cuadrada ni de potencia.

Función

mySqrt(x: integer) → integer
xinteger
el entero no negativo del que se debe calcular la raíz cuadrada
Devuelveinteger
la raíz cuadrada de x redondeada hacia abajo al entero más cercano

Restricciones

  • 0 ≤ x ≤ 231 - 1
  • No llames a una función integrada de raíz cuadrada, potencia o exponente.

Ejemplos

Entrada
x = 17
Salida
4
Explicación
4 × 4 = 16 es como máximo 17, pero 5 × 5 = 25 es mayor, así que la raíz de 17 se redondea hacia abajo a 4.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Cómo encontrarías la raíz cúbica entera en su lugar, el mayor r tal que r × r × r ≤ x, si x también pudiera ser negativo?

Restablecer código
def mySqrt(x):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Entrada

x = 17

Esperado

4