Menu
Coddy logo textTech

Bucle anidado

Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 52 de 93.

Puedes colocar un bucle dentro de otro bucle para crear un bucle anidado. El bucle interno se ejecuta por completo en cada iteración del bucle externo.

for (i in 1..2) {
    for (j in 1..3) {
        println("i=$i, j=$j")
    }
}
// Salida:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3

Cuando i es 1, el bucle interno se ejecuta tres veces (j va de 1 a 3). Después, i se convierte en 2 y el bucle interno se ejecuta tres veces más. Esto nos da 2 × 3 = 6 iteraciones en total.

Los bucles anidados se utilizan habitualmente para crear patrones o trabajar con estructuras similares a cuadrículas:

for (row in 1..3) {
    for (col in 1..row) {
        print("*")
    }
    println()
}
// Salida:
// *
// **
// ***

Aquí, el rango del bucle interno depende de la variable del bucle externo, lo que crea un patrón triangular. La función print() muestra la salida sin un salto de línea, mientras que println() pasa a la siguiente línea después de cada fila.

challenge icon

Desafío

Intermedio

Lee un entero n de la entrada. Usa bucles anidados para imprimir una tabla de multiplicar para los números del 1 al n.

Para cada fila i del 1 al n, imprime los productos i * 1, i * 2, ..., i * n separados por espacios, seguidos de un salto de línea.

Por ejemplo, si la entrada es 3, la salida debería ser:

1 2 3
2 4 6
3 6 9

Si la entrada es 4, la salida debería ser:

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

Usa print() con un espacio para mostrar los valores en la misma línea y println() para pasar a la siguiente fila.

Pruébalo tú mismo

fun main() {
    // Leer la entrada
    val n = readLine()!!.toInt()
    
    // TODO: Escribe tu código debajo
    // Usa bucles anidados para imprimir la tabla de multiplicar
    // Usa print() con un espacio para los valores en la misma línea
    // Usa println() para pasar a la siguiente fila
    
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin