Un cuadrado perfecto es aquel número entero que al sacarle raíz cuadrada sigue siendo un número entero. Por ejemplo, 25 lo es; ya que su raíz cuadrada es 5, y 5 es un entero.
No pasa lo mismo para 24, ya que su raíz es algo como 4.89.
Vamos a escribir una función en Javascript para calcular o estimar el siguiente cuadrado perfecto de otro cuadrado perfecto.
Más información aquí: https://es.wikipedia.org/wiki/Cuadrado_perfecto
Veremos cómo buscar el siguiente cuadrado perfecto de un número. Si, por ejemplo, introducimos 25, la función tiene que devolver 36. Y así sucesivamente.
Dicha función también debe ser lo suficientemente inteligente para saber si el número que le asignamos no es un cuadrado perfecto, y en este caso debe devolver -1. Por ejemplo, si le pasamos un 24 devuelve -1. Si le pasamos 25 devuelve 36.
Aquí el código fuente, abajo lo explico.
Primeramente comprobamos si la raíz es un número entero. En caso de que sí, hacemos el cálculo del siguiente cuadrado perfecto. Para ello, sumamos el cuadrado perfecto mas dos veces el lado del siguiente, y finalmente restamos 1.
Por ejemplo, veamos qué pasa con el número 25. Su raíz cuadrada es 5, así que pasa la prueba. Para calcular el siguiente, sumamos 25 + (6 * 2) y restamos 1.
¿De dónde sale el 6? es el siguiente número después del 5. Es decir, a la raíz (que es 5) le sumamos 1, y obtenemos 6. El 6 lo multiplicamos por 2. Y a todo eso le restamos 1.
Así que se descompone así:
¡Listo! con esto terminamos por hoy. Aquí dejo algunas pruebas…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
Esta web usa cookies.