Aprende a imprimir el triángulo de pascal en la consola con Swift.

Cómo imprimir el triángulo de Pascal en Swift

En matemáticas, el triángulo de Pascal es una disposición triangular de números que da los coeficientes en la expansión de cualquier expresión binomial, como . Lleva el nombre del matemático francés del siglo XVII Blaise Pascal. Como una explicación más fácil para aquellos que no están familiarizados con la expresión binomial, el triángulo de pascal es un triángulo equilátero interminable de números que siguen la regla de sumar los dos números de arriba para obtener el número de abajo. (x + y)n

En este artículo te mostraremos cómo generar este famoso triángulo en la consola con el lenguaje de programación Swift.

Imprimir directamente en la consola

Gráficamente, la forma de construir el triángulo de pascales es bastante fácil, como se mencionó, para obtener el número a continuación, debe sumar los 2 números de arriba y así sucesivamente:

Pascals Triangle Graphic Representation

El siguiente código generará el triángulo de pascal:

// Función que genera el triángulo de pascales con un número específico de filas
func generatePascalTriangle(numRows: Int){
    var results = [[Int]]()
    
    if (numRows == 0) {
        return
    }

    for i in 0..<numRows {
        var currentResults = [Int]()

        // Imprimir espacios
        for _ in 0..<(numRows - i - 1) {
            print(" ", terminator:"")
        }

        // Imprimir valores
        for j in 0...i {
            if (i > 1 && j > 0 && j < i) {
                let value = results[i-1][j] + results[i-1][j-1]
                currentResults.append(value)

                print("\(value) ", terminator: "")
            } else {
                currentResults.append(1)
                print("\(1) ", terminator: "")
            }
        }
        
        results.append(currentResults)
        print("\n")
    }
}

// Solicitar al usuario el número de filas a través de la consola, por ejemplo, "10".
print("Insert the number of rows for the triangle:")
let numberOfRows:Int? = Int(readLine()!)

// Imprime el triángulo de pascales en la consola con el número dado de filas
generatePascalTriangle(numRows: numberOfRows!)
// O forzar el valor directamente:
// generatePascalTriangle(numRows: 10)

La ejecución del código anterior generará la siguiente salida en la consola:

Swift Output Pascal's Triangle

Recuperando datos triangulares en matriz

Si en lugar de imprimir simplemente el triángulo en la consola, puedes recuperar los datos generados por la lógica y renderizarlos de otra manera más adelante:

// Function that generates the pascals triangle with a specific number of rows
func generate(numRows: Int) -> [[Int]] {
    var results = [[Int]]()
    
    if (numRows == 0) {
        return results
    }

    for i in 0..<numRows {
        var currentResults = [Int]()
        
        for j in 0...i {
            if (i > 1 && j > 0 && j < i) {
                let value = results[i-1][j] + results[i-1][j-1]
                currentResults.append(value)
            } else {
                currentResults.append(1)
            }
        }

        results.append(currentResults)
    }
    
    return results
}

let triangleContent = generate(numRows: 10)

print(triangleContent)

El código anterior generará la siguiente salida:

Swift Pascals Triangle Data

Recuerde que puede iterar sobre el resultado de la función, por ejemplo:

let triangleContent = generate(numRows: 10)

for i in 0..<triangleContent.count {
    let row = triangleContent[i]
    
    for i in 0..<row.count {
        let value = row[i]
        print("\(value) ", terminator:"")
    }

    print("\n")
}

El fragmento anterior generará el siguiente resultado:

Swift Output Pascal's Triangle

Que te diviertas ❤️!


Conviertete en un programador más sociable

Patrocinadores