Menu
Coddy logo textTech

Laço Aninhado

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 52 de 93.

Você pode colocar um loop dentro de outro loop para criar um loop aninhado. O loop interno é executado completamente a cada iteração do loop externo.

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

Quando i é 1, o loop interno é executado três vezes (j vai de 1 a 3). Então, i se torna 2, e o loop interno é executado mais três vezes. Isso nos dá 2 × 3 = 6 iterações no total.

Loops aninhados são comumente usados para criar padrões ou trabalhar com estruturas semelhantes a grades:

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

Aqui, o intervalo do loop interno depende da variável do loop externo, criando um padrão triangular. A função print() exibe o conteúdo sem uma quebra de linha, enquanto println() passa para a próxima linha após cada linha.

challenge icon

Desafio

Médio

Leia um inteiro n da entrada. Use loops aninhados para imprimir uma tabela de multiplicação para os números de 1 até n.

Para cada linha i de 1 a n, imprima os produtos i * 1, i * 2, ..., i * n separados por espaços, seguidos por uma nova linha.

Por exemplo, se a entrada for 3, a saída deverá ser:

1 2 3
2 4 6
3 6 9

Se a entrada for 4, a saída deverá ser:

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

Use print() com um espaço para exibir valores na mesma linha e println() para passar para a próxima linha.

Experimente você mesmo

fun main() {
    // Ler a entrada
    val n = readLine()!!.toInt()
    
    // TODO: Escreva seu código abaixo
    // Use loops aninhados para imprimir a tabela de multiplicação
    // Use print() com um espaço para valores na mesma linha
    // Use println() para ir para a próxima linha
    
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin