¿Puede alguien guiarme a través del siguiente código:
function square(n) { let result = 0; for (let i = 1; i <= n; i++) { for (let j = 1; j <= n; j++) { result += 1; } } return result; } // example: console.log(square(5)) // 25¿Cómo funciona este bucle for al crear un cuadrado de un número n? No sé por dónde empezar a abordar cómo funciona esto.
El cuadrado de un número se puede visualizar como el número de cuadrados en una cuadrícula. 5x5, por ejemplo, es 5 de ancho por 5 de alto:
Puedes pensar en el bucle anidado en tu código
for (let i = 1; i <= n; i++) { for (let j = 1; j <= n; j++) { result += 1; } }emulando el movimiento a lo largo de la cuadrícula.
Cuando i es 1, va a lo largo de la primera fila. Cuando j es 1, eso corresponde a la primera columna. Corresponde al primer cuadrado. La siguiente iteración corresponde a la primera fila, segunda columna, etc., hasta que ya no se cumple i <= n , al final de la fila. La siguiente fila luego itera n veces, y así sucesivamente.
Verá que el número de iteraciones totales (donde se ejecuta result += 1 ) es equivalente a n * n , como implementa el bucle anidado.
En resumen, el ciclo interno (j) se ejecuta 5 veces por cada iteración del ciclo externo (i).
Básicamente,
for each i = 1, j runs 5 times for i = 2, j runs 5 times //total 10 times for i = 3, j runs 5 times //total 15 times for i = 4, j runs 5 times //total 20 times for i = 5, j runs 5 times //total 25 timesEntonces, el resultado se incrementa 25 veces y, por lo tanto, la respuesta es 25