Aprende a generar e imprimir el triángulo pascal en el lenguaje de programación C.

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

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 C.

Implementación

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

Con lógica, esto sería un desastre de implementar, es por eso que debe confiar en alguna fórmula que le proporcione las entradas del triángulo pascal que desea generar. La forma más sencilla de hacerlo en programación es con el uso del coeficiente Binomial o el conocido "n elige k":

n choose k for pascals triangle

El siguiente código funciona así: se le pedirá al usuario un número que defina el número de filas que debe tener el triángulo, el primer ciclo for iterará la cantidad de veces que el usuario proporcione. En cada iteración se ejecutarán otros 2 bucles, el primero define el número de espacios de izquierda a derecha, eliminando uno de esos espacios en cada iteración hasta la última fila, que no debe tener ningún espacio y el bucle importante que imprime el valor del número correspondiente con la fórmula mencionada:

#include <stdio.h>

long factorial(int);

int main()
{
    int i, n, c;

    printf("Ingresa el número de filas que desea ver en el triángulo pascal: \n");
    scanf("%d",&n);

    for (i = 0; i < n; i++)
    {
        for (c = 0; c <= (n - i - 2); c++){
            printf(" ");
        }

        for (c = 0 ; c <= i; c++){
            printf("%ld ", factorial(i)/(factorial(c)*factorial(i-c)));
        }

        printf("\n");
    }

    return 0;
}

// Ve nuestra implementación de factorial para más información
// https://ourcodeworld.com/articles/read/857/how-to-get-the-factorial-of-a-number-in-c
long factorial(int n)
{
    int c;
    long result = 1;

    for (c = 1; c <= n; c++){
        result = result*c;
    }

    return result;
}

La ventaja de este enfoque es que realmente verá un triángulo equilátero, no un triángulo rectángulo que se ve mucho mejor en la salida, además de que aumenta la dificultad del ejercicio. Vale la pena mencionar que utilizamos el enfoque factorial que escribimos en un artículo anterior.

Que te diviertas ❤️!


Conviertete en un programador más sociable

Patrocinadores